本文已参与「新人创作礼」活动,一起开启掘金创作之路。
3558. 整数和
原题传送:AcWing 3558. 整数和
编写程序,读入一个整数 。
若 为非负数,则计算 到 之间的整数和;若 为一个负数,则计算 到 之间的整数和(包括两端整数)。
输入格式
第一行包含整数 ,表示共有 组测试数据。
每组数据一行,一个整数 。
输出格式
每组数据一行,一个结果。
数据范围
,
输入样例:
2
2
-1
输出样例:
9
-3
思路:
等差数列求和公式。
题解:
#include <bits/stdc++.h>
using namespace std;
int f(int x)
{
return (x + 2 * x) * (abs(x) + 1) / 2;
}
int main()
{
int T;
cin >> T;
while(T--)
{
int x;
cin >> x;
int res = f(x);
cout << res << endl;
}
return 0;
}