0
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 分钟让 i 打印(而 python 使用 100% cpu 来计算..),但它没有。是否有更有效的方法来重写这段代码,以便我可以看到需要多少次迭代 (i) 才能完成?

非常感谢

4

5 回答 5

4

您可以使用i = a/d. :D

于 2009-11-17T09:55:41.607 回答
4
r = (a % d)
i = (a / d)

使用模数和除法运算符

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

i, r = divmod(a,d)
于 2009-11-17T09:57:19.950 回答
2

不是你要找的部门吗?

于 2009-11-17T09:53:28.813 回答
0

试试3833333333.3333333333333333333333。又名r / d

于 2009-11-17T09:56:35.380 回答
0

看起来你正在对我进行截断除法。也就是说,您想在不知道余数的情况下找出 d 进入 a 的次数。

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

i = a // d

print (i)
于 2009-11-17T10:01:57.930 回答