‹ 上一题 下一题 ›

g6-09072. 嵌套的代价 未做

1000 ms 256 MB 测试点 10 通过率 50% GESP-66级·树形DP入门复杂度分析阶梯·入门

题目描述

第二段程序的循环套了两层:

s = 0
for i = 1 to n:
    for j = 1 to i:  s = s + 1
print(s)

外层循环变量 从 取到 ; 每取定一个值,内层循环变量 就从 取到 ,内层循环体每圈把 增加 。

请同样不运行程序,数出内层循环体总共执行的次数,也就是程序结束时 的值,并直接输出它。

这个次数是 。注意 翻一倍时它大约涨成四倍——从线性到平方,代价涨得比 本身快得多。

输入格式

一行,一个整数 。

输出格式

一行,一个整数,表示内层循环体执行的总次数,即程序结束时 的值。

样例

输入
4
输出
10

样例解释:外层 取 时,内层分别跑 圈,总共 次。

样例解释:外层只跑一圈,内层也只跑一圈,。

数据范围

对于 的数据,。

答案最大约为 ,超出 32 位整数(int,上限约 )的表示范围,请使用 64 位整数(long long)存储与输出。

本题共 个测试点,每个测试点 分;第 、 个测试点与样例同规模,第 个测试点取到 。

背景知识

本章给过一条判定: 配 约 步,必超时—— 秒时限连 步都勉强。双重循环的总圈数 正是平方增长的最小实例:真跑循环在 时约需 次运算,按每秒 次的约定要跑几千秒,只能数出来。交卷自查的第三问还提醒:结果会不会溢出? 装不进 int,必须用 long long。

输入
输出

            
答案