时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:3863
解决:2523
- 题目描述:
-
编写程序,读入一个整数N。
若N为非负数,则计算N到2N之间的整数和;
若N为一个负数,则求2N到N之间的整数和
- 输入:
-
一个整数N,N的绝对值小于等于1000
- 输出:
-
测试数据可能有多组,对于每一组数据,
输出题目要求的值
- 样例输入:
-
1 -1
- 样例输出:
-
3 -3
这个就是考验算法思想的题了。
我们可以直接用循环计算,也可以推出公式再计算。
//Asimple #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <vector> #include <cctype> #include <cstdlib> #include <stack> #include <cmath> #include <set> #include <map> #include <string> #include <queue> #include <limits.h> #define INF 0x7fffffff using namespace std; const int maxn = 105; typedef long long ll; int n, sum; int main(){ while( ~scanf("%d",&n) ){ printf("%d ",n>0?3*n*(n+1)/2:3*n*(1-n)/2); } return 0; }