8.【2017年计算机联考真题】
分析:
1. 先找出基本操作:循环最深沉的语句。:
sum += ++i;
这句可以解释为2句话:++i; sum = sum + i;
2. 确定问题规模并计算出关于n的函数式。
每次循环执行过程,i先加1,在执行`sum += i;`
执行次数 | i值变化 | sum值变化 |
---|---|---|
1 | 由0变成1 | 0+1=1 |
2 | 由1变成2 | 1+2=3 |
3 | 由2变成3 | 3+3=6 |
…… | …… | …… |
假设循环体一共执行了k次,循环每执行一次,i先自加1,所以i=1,2,3,4,5……k。
而sun=1+2+3+4+……+k=k(k+1)/2。
即此时sum=k(k+1)/2>=n,(k+1)^2>2n,得到k>(2n)^(1/2)-1.选B。