1559 - 整数和
编写程序,读入一个整数N。若N为非负数,则计算N 到2N 之间的整数和;若N为一个负数,则求2N 到N 之间的整数和。
Input
第一行表示样例数m,接下来m行每行一个整数N,N的绝对值不超过100。
Output
输出m行,每行表示对应的题目所求。
Examples
Input
2 2 -1
Output
9 -3
Hint
注意N可能为负数
Solution 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; }
Solution 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; }
Hint
注意N可能为负数