题目1063:整数和
题目描述:
编写程序,读入一个整数N。
若N为非负数,则计算N到2N之间的整数和;
若N为一个负数,则求2N到N之间的整数和
输入:
一个整数N,N的绝对值小于等于1000
输出:
测试数据可能有多组,对于每一组数据,
输出题目要求的值
样例输入:
1
-1
样例输出:
3
-3
来源:
2001年清华大学计算机研究生机试真题(第I套)
code
c语言实现
#include<stdio.h>
int fun( int N) {
int sum = 0,tem;
if (N >= 0) {
tem = 2*N;
while (N <= tem ) {
sum += N;
N++;
}
}
else {
tem = 2*N;
while (N >= tem ) {
sum += N;
N--;
}
}
return sum;
}
int main() {
int N;
while (scanf("%d",&N) == 1) {
if (N > 1000 || N < -1000)
continue;
else
printf("%d\n",fun(N));
}
return 0;
}
/**************************************************************
Problem: 1063
User: langzimaizan
Language: C
Result: Accepted
Time:10 ms
Memory:912 kb
****************************************************************/