九度 Online Judge 算法 刷题 题目1063:整数和

时间:2023-02-12 12:44:45

题目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
****************************************************************/