题目描述
第二段程序的循环套了两层:
s = 0
for i = 1 to n:
for j = 1 to i: s = s + 1
print(s)
外层循环变量 从 取到 ; 每取定一个值,内层循环变量 就从 取到 ,内层循环体每圈把 增加 。
请同样不运行程序,数出内层循环体总共执行的次数,也就是程序结束时 的值,并直接输出它。
这个次数是 。注意 翻一倍时它大约涨成四倍——从线性到平方,代价涨得比 本身快得多。
输入格式
一行,一个整数 。
输出格式
一行,一个整数,表示内层循环体执行的总次数,即程序结束时 的值。
样例
输入
4
输出
10
样例解释:外层 取 时,内层分别跑 圈,总共 次。
输入
1
输出
1
样例解释:外层只跑一圈,内层也只跑一圈,。
数据范围
对于 的数据,。
答案最大约为 ,超出 32 位整数(int,上限约 )的表示范围,请使用 64 位整数(long long)存储与输出。
本题共 个测试点,每个测试点 分;第 、 个测试点与样例同规模,第 个测试点取到 。
背景知识
本章给过一条判定: 配 约 步,必超时—— 秒时限连 步都勉强。双重循环的总圈数 正是平方增长的最小实例:真跑循环在 时约需 次运算,按每秒 次的约定要跑几千秒,只能数出来。交卷自查的第三问还提醒:结果会不会溢出? 装不进 int,必须用 long long。