0
什么是这个函数的渐近增长率:渐近增长率 “INT I =常量1;而(ⅰ<N){I * = CONSTANT2;}”
int i=3;
while(i < n) {
i *= 5;
}
我测量它:
当n=3
i<n
执行1次
。 。
当n=16
i<n
被执行2次
。 。
时n=80
,i<n
被执行3次
。 。
我需要找到正确的增长率,但我卡住了。
什么是这个函数的渐近增长率:渐近增长率 “INT I =常量1;而(ⅰ<N){I * = CONSTANT2;}”
int i=3;
while(i < n) {
i *= 5;
}
我测量它:
当n=3
i<n
执行1次
。 。
当n=16
i<n
被执行2次
。 。
时n=80
,i<n
被执行3次
。 。
我需要找到正确的增长率,但我卡住了。
我认为增长速度是:
3 * 5^x >= n
5^x >= n/3
因此
xlog5 >= log n - log 3
x >= (log n - log 3)/(log 5)
可以定义3*5^x
必须>=n
。我们可以用这个基础在第一行中设置方程。
也许一个暗示,如何解决这个作业会更有益于OP ... – JimmyB
想一想:这段代码实现的数学函数是什么?什么是输入(n?)和什么是输出(迭代次数?)? – JimmyB
或者更简单的情况:如果你有'i + = 5',增长率是多少? – JimmyB