dorcel airlines演员表:for(i=0;i<n-1;i++){ m=i;for(j=i+1;j<n;j++);----}为什么for(j=i+1;j<n;j++)的运行次数是n(n-1)/2次呢?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 12:20:48
请高手说明原由!!!

由于外层循环参数和里层循环参数密切相关且都与n有关系,所以里层循环的次数随i的值的变化而变化,本题中i=k时,里层循环n-k-1次,外层共可以循环n-1次所以最终循环的次数是(n-1)+(n-2)+(n-3)+.....+{n-(n-1)}=n*(n-1)/2次

上楼的几位讲的很好.

1+2+3+...+n-1=n*(n-1)/2

完全正确

上面几个数相加的和

用到求等差数列的一个公式

回答的不错,我也罗索两句,当外层循环i=0时,内层j=1,循环次数为n-1.同理当i=1,j=2,则内层循环次数为n-2.依次类推,有n-3,n-4,----,1;所以总的循环次数为1+2+3+。。。+n-1=n*(n-1)/2;