问: 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)。求解题过程。 展开
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)。求解题过程。 展开
1个回答
展开全部
你的题目给的不完整吧,首先不知道n的赋值,其次语句x=x+1的执行次数多少由一下几点决定:
i执行的次数由n决定,而j=i,所以j的执行次数等于i;
k<=j,k的执行次数由j的数值决定,又因为j=i,所以k执行的次数其实就是由i决定的;
由以上两条可以得出,语句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;
这样就可以得出,x=x+1会执行n*n次,因为i会执行n次,而k又会执行i次。大概就是这样的了,所以n的值很重要。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询