1559 - 整数和

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

题目输入

第一行表示样例数m,接下来m行每行一个整数N,N的绝对值不超过100。

题目输出

输出m行,每行表示对应的题目所求。

输入/输出样例

题目输入

2
2
-1

题目输出

9
-3

提示

 注意N可能为负数

C语言解答

#include<stdio.h>
#include<stdlib.h>
int cul(int num)
{
	int count=0;
	for(int i=num;i<=2*num;i++)
	{
		count+=i;
	}
	return count;
}
int main()
{
	int m,n;
	int num;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&m);
		if(m>=0)
			num=cul(m);
		else if(m<0)
		{
			printf("-");
			num=cul(-m);
		}
		printf("%d\n",num);
	}
	//system("pause");
	return 0;
}

C++解答

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;

int main()
{
    //freopen("test.in", "r", stdin);
    //freopen("test.out", "w", stdout);
    int N, t;
    cin >> t;
    while (t--) {
        cin>>N;
        cout<<((N+2*N)*(abs(N)+1))/2<<endl;
    }
    return 0;
}

提示

 注意N可能为负数

时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题