问和型粗题描述:
for(i=0i<ni++)
for(j=0j<nj++)
for(k=0k<jk++)
x++
请问这个如何计算x++这条语句执行了多少次租局?
请问这种题有没有什么简便算法?
解析:
没什么简便算法
一般推导一两步,然后数学归纳
这道题和i没太大关系,主要看j,k
j=0 k不会执行
j=1 k=0 执行一次
j=2 k=0 k=1 执行两次唤镇
j=n-1 k=0...k=n-2 执行n-1次
也就是在j,k这两个循环内
一共执行
1+2+3+....+(n-1)
=n(n-1)/2
所以总共执行
n*n(n-1)/2
=n^2(n-1)/2
循环一次。i=0,j=1,条件i<=j+1成立,执行输出后,执行i+=2,j--,当顷早前循环雀稿雀一次。
此时i=2,j=0,条件i<=j+1不成立,因敬腔此结束循环。
执行次数不受限制。c语言中空 *** 作的指令是只由分号构成的语句,任何空语句都是可执行的源丛源,当你执行一个空语句时和普通雹态语句没有区别,只是空语句什么也不做而已,当你执行完一个空语句的时候(也就是什么都不用做郑悔就执行完了),自然就到语句的结束点,进而执行下一条语句。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)