我需要计算输出中的项目数。 例如,我创建了这个:
a =1000000
while a >=10:
print a
a=a/2
我如何计算执行了多少个减半步? 感谢
答案 0 :(得分:1)
你有两种方式:经验方式和可预测方式。
a =1000000
import math
print("theorical iterations {}".format(int(math.log2(a//10)+0.5)))
counter=0
while a >=10:
counter+=1
a//=2
print("real iterations {}".format(counter))
我明白了:
theorical iterations 17
real iterations 17
实验方法只计算迭代次数,而预测方法依赖于log2
a
值的舍入(上限)结果(与算法的复杂性相匹配)。
(它已四舍五入到上限,因为如果它超过16,那么你需要17次迭代)
答案 1 :(得分:0)
c = 0
a = 1000000
while a >= 10:
print a
a = a / 2
c = c + 1