问题 单项选择题

执行下面程序段,语句3的执行次数为______。
for(i=0;i<n-1;i++)
for(j=n;j>i;j++)
state;

A.n(n+2)/2

B.(n-1)(n+2)/2

C.n(n+1)/2

D.(n-1)(n+2)

答案

参考答案:B

解析:
本题考查如何衡量算法的复杂度,根据题目可以看出,两层循环每次执行的次数是不相等的,第一次循环执行了n次,第二次循环只执行了n-1次,直到最后一次循环,他执行了2次,这样就是一个等差数列的求和,可得到总的执行次数为(n-1)(n+2)/2。

填空题
单项选择题 A1/A2型题