时间限制: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\n", 3*n*(n+1)/2);elseprintf("%d\n", 3*n*(-n+1)/2);}return 0;
}
/**************************************************************Problem: 1063User: liangrx06Language: CResult: AcceptedTime:10 msMemory:912 kb
****************************************************************/