题目描述
输入一个整数 n(1≤n≤107),每行输出一个数,表示数字 1 到 i 的和。
比如,当 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≤10^7)。
输出格式
输出共 n(1≤n≤10^7) 行,每行一个整数。
第 i 行输出的数,表示数字 1 到 i 的和。
输入输出样例
输入 #1
2
输出 #1
1 3
输入 #2
5
输出 #2
1 3 6 10 15
说明/提示
对于 40% 的数据,1≤n≤10。
对于 60% 的数据,1≤n≤10^4。
对于 80% 的数据,1≤n≤10^6。
对于 100% 的数据,1≤n≤10^7。
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main()
{
int n, i;
long long sum;
cin >> n;
for (i = 1, sum = 0; i <= n; i++)
{
sum = sum + i;
cout << sum << "\n";
}
return 0;
}
这道题难度一般,但考验细节,本文在题干中省略提示的目的是突出强调提示内容————
提示:
使用 cout << endl;
输出换行会导致 TLE(超过时间限制)。
请使用 cout << "\n";
或者是 printf("\n");
输出换行。
1+2+3+⋯+10000000 的值超出了 int
类型可以存储的最大值。