更有效的计算方法?

时间:2009-11-17 09:51:14

标签: python iteration long-integer largenumber

a = 218500000000

s = 6
f = 2
k = 49
d = k + f + s

r = a
i = 0

while (r >= d):
  r = r - d
  #print ('r = ',r)
  i = i+1
  #print ('i = ',i)

print (i)

我认为它完成了我的预期,但它计算如此大的数字太慢了,我等了5分钟让我打印(而python使用100%cpu来计算..),但它没有'吨。是否有更有效的方法来重写这段代码,以便我可以看到完成需要多少次迭代(i)?

非常感谢

5 个答案:

答案 0 :(得分:4)

您可以使用i = a/d。 :d

答案 1 :(得分:4)

r = (a % d)
i = (a / d)

使用modulo and division operators

还有一个divmod函数可以同时计算:

i, r = divmod(a,d)

答案 2 :(得分:2)

不是你想要的师?

答案 3 :(得分:0)

尝试3833333333.3333333333333333333333。 AKA r / d

答案 4 :(得分:0)

看起来你正在对我进行截断。也就是说,你想知道d在不知道剩余部分的情况下进入的次数。

a = 218500000000
s = 6
f = 2
k = 49
d = k + f + s

i = a // d

print (i)