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可能为负数