k=0; for(i=1;i<=;i++){ for(j=i;j<=n;j++) k++ } k++ 为什么运行了n(n+1)/2 次阿

如题所述

两层循环嵌套,为了好理解,我标记成a,b
a:for(i=1;i<=n;i++)

{
b: for(j=i;j<=n;j++)

}
第一轮:a中的i=1,b为 for(j=1;j<=n;j++) b运行了1````n,所以是n次
第二轮:a中的i=2,b为 for(j=2;j<=n;j++) b运行了2````n,所以是n-1次
第三轮:a中的i=3,b为 for(j=3;j<=n;j++) b运行了3````n,所以是n-2次

。。。。
第n轮:a中的i=n,b为 for(j=n;j<=n;j++) b运行了n````n,所以是1次

所以总次数是,1+2+......n(次)= n(n+1)/2
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-27
看看有没有好答案。
相似回答