算法笔记练习 5.1 简单数学 问题 H: 整数和
题目
题目描述
编写程序,读入一个整数N。若N为非负数,则计算N 到2N 之间的整数和;若N为一个负数,则求2N 到N 之间的整数和。
输入
第一行表示样例数m,接下来m行每行一个整数N,N的绝对值不超过100。
输出
输出m行,每行表示对应的题目所求。
样例输入
2
2
-1
样例输出
9
-3
提示
注意N可能为负数
代码
#include <stdio.h>
int main() {
int n, m;
while (scanf("%d", &m) != EOF) {
while (m--) {
scanf("%d", &n);
int flag = (n < 0);
if (flag)
n *= -1;
int ans = (n + 2 * n) * (n + 1) / 2;
printf("%d\n", flag ? -1 * ans : ans);
}
}
return 0;
}