问: 10 for(i=1;i<=n;i++) for(j=i;j<=n;j++) for(k=

问:10for(i=1;i<=n;i++)for(j=i;j<=n;j++)for(k=1;k<=j;k++)x=x+1求x=x+1这条语句的频度。答案是... 问: 10 for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=1;k<=j;k++)
x=x+1
求x=x+1这条语句的频度。答案是1/6*n*(n+1)*(n+2)。求解题过程。
展开
 我来答
风忆无心
2015-12-23 · 超过19用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:20.5万
展开全部

你的题目给的不完整吧,首先不知道n的赋值,其次语句x=x+1的执行次数多少由一下几点决定:

  1. i执行的次数由n决定,而j=i,所以j的执行次数等于i;

  2. k<=j,k的执行次数由j的数值决定,又因为j=i,所以k执行的次数其实就是由i决定的;

  3. 由以上两条可以得出,语句for(j=i;j<=n;j++)的作用与for(i=1;i<=n;i++)重复,所以完全可以把原程序看成:

          for(i=1;i<=n;i++)

             for(k=1;k<=i;k++)

               x=x+1;

  4. 这样就可以得出,x=x+1会执行n*n次,因为i会执行n次,而k又会执行i次。大概就是这样的了,所以n的值很重要。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式