Bootstrap

【洛谷】B3650 [语言月赛202208] 求和

题目描述

输入一个整数 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 类型可以存储的最大值。

;