[语言月赛202208] 求和
题目描述
输入一个整数 n ( 1 ≤ n ≤ 1 0 7 ) n(1\le n \le 10^7) n(1≤n≤107),每行输出一个数,表示数字 1 1 1 到 i i i 的和。
比如,当 n = 5 n=5 n=5 时,
第 1 行输出一个数字 1;
第 2 行输出数字 3,因为 1 + 2 = 3
;
第 3 行输出数字 6,因为 1 + 2 + 3 = 6
;
第 4 行输出数字 10,因为 1 + 2 + 3 + 4 = 10
;
第 5 行输出数字 15,因为 1 + 2 + 3 + 4 + 5 = 15
。
输入格式
输入一个数 n ( 1 ≤ n ≤ 1 0 7 ) n(1\le n \le 10^7) n(1≤n≤107)。
输出格式
输出共 n ( 1 ≤ n ≤ 1 0 7 ) n(1\le n \le 10^7) n(1≤n≤107) 行,每行一个整数。
第 i i i 行输出的数,表示数字 1 到 i 的和。
样例 #1
样例输入 #1
2
样例输出 #1
1
3
样例 #2
样例输入 #2
5
样例输出 #2
1
3
6
10
15
提示说明
对于 40 % 40\% 40% 的数据, 1 ≤ n ≤ 10 1\le n \le 10 1≤n≤10。
对于 60 % 60\% 60% 的数据, 1 ≤ n ≤ 1 0 4 1\le n \le 10^4 1≤n≤104。
对于 80 % 80\% 80% 的数据, 1 ≤ n ≤ 1 0 6 1\le n \le 10^6 1≤n≤106。
对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 7 1\le n \le 10^7 1≤n≤107。
提示:
使用 cout << endl;
输出换行会导致 TLE(超过时间限制)。
请使用 cout << "\n";
或者是 printf("\n");
输出换行。
1
+
2
+
3
+
⋯
+
10000000
1+2+3+\dots+10000000
1+2+3+⋯+10000000 的值超出了 int
类型可以存储的最大值。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <sstream>//整型转字符串
// #include <stack>//栈
// #include <deque>//堆/优先队列
// #include <queue>//队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n;
cin>>n;
ll sum=0;
for(ll i=1;i<=n;i++)
{
sum+=i;
printf("%lld\n",sum);
}
return 0;
}