设n为正整数。试确定下列各程序段中前置以记号@的语句频度:

设n为正整数。试确定下列各程序段中前置以记号@的语句频度:,第1张

(4)

i=1时,第二个for语句执行n次;i=2时,第二个for语句执行n-1次;i=3时,第二个for语句执行n-2次......

i=n时,第二个for语句执行1次。

所以语句频度=n+(n-1)+(n-2)+...+1=n(n+1)/2

(5)

原理与(4)类似

所以语句频度=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)=n(n+1)(2n+3)/12

(8)

分析每一次循环可卜告销以发现,当型游循环执行10次后x>100,y方才减1,此时x被复原为91;

如此下去,由于每执行10次循环友携才使y减1,所以循环体执行100*10次,也就是说if语句判断执行了1000次(但里面的y--执行了100次)。

所以语句频度=1100

第一段程序:y=1开始循环,每循环一次加1,执行到根号n 次

第饥橡二段程序:i=1开始循环,但氏肢谨在循环判断歼基i>j,小于加一,第一次循环后i=1,j=1;每次循环 不是i加1,就是j 加1 ,所以循环到n-1次

所以第一段是根号n 次

第二段是n-1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8194997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存