编程论坛
注册
登录
编程论坛
→
C++教室
请教 关于程序步数的问题
shiaron
发布于 2008-09-29 15:14, 1380 次点击
程序如下
int i=1;
do{
for(int j=1;j<n;j++)
i = i + j;
}while(i< 100+n);
求红色部分的程序步数,谢谢啊
9 回复
#2
夜の枫
2008-09-29 15:30
首先,把1赋给j,然后判断j是否小于n(n是你定义的大小),如果通过,执行i = i + j,再执行j++ ,然后判断i是否小于100+n。通过,继续执行do- while 里面的循环,还是如同前面所说的!!
#3
shiaron
2008-09-29 16:23
回复 2# 夜の枫 的帖子
那样程序步数是多少呢?实在不懂啊
#4
vfdff
2008-09-29 16:25
回复 1# shiaron 的帖子
可以使用profile 进行分析
#5
zzt_428
2008-09-30 10:37
你的n在定义在什么地方?未定义,哪个知道执行多少步.
#6
shiaron
2008-10-03 16:35
回复 5# zzt_428 的帖子
就是程序步数用N来表示饿
#7
守鹤
2008-10-03 17:25
语句的频度要看 n的取值情况,值 i得变化为 i 1, 2,4,7....
通项公式为 n(n+1)/2 +1
#8
nuciewth
2008-10-03 20:40
其实就是做几次N的等差数列(公差为1)才不至于超过100+N。
接下来就简单了算 X*n*(n-1)/2>=n+100所能去的X中的最小值
步骤数就是(N-1)*X了
#9
夜の枫
2008-10-03 22:34
你给n的赋值是多少啊?然后才能分析啊!
#10
hanpengqd
2008-10-04 18:34
内循环做n*(n-1)/2+1次
外循环得看n取值
1