九度OJ 1063:整数和 (基础题)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:3456

解决:2254

题目描述:

编写程序,读入一个整数N。
若N为非负数,则计算N到2N之间的整数和;
若N为一个负数,则求2N到N之间的整数和

输入:

一个整数N,N的绝对值小于等于1000

输出:

测试数据可能有多组,对于每一组数据,
输出题目要求的值

样例输入:
1
-1
样例输出:
3
-3
来源:
2001年清华大学计算机研究生机试真题(第I套)

思路:

没有用for循环,直接用的数列求和公式。


代码:

#include <stdio.h>
 
int main(void)
{
    int n;
    while (scanf("%d", &n) != EOF)
    {
        if (n>=0)
            printf("%d
", 3*n*(n+1)/2);
        else
            printf("%d
", 3*n*(-n+1)/2);
    }
 
    return 0;
}
/**************************************************************
    Problem: 1063
    User: liangrx06
    Language: C
    Result: Accepted
    Time:10 ms
    Memory:912 kb
****************************************************************/


编程算法爱好者。
原文地址:https://www.cnblogs.com/liangrx06/p/5083968.html