Python 更有效的计算方法?

Python 更有效的计算方法?,python,iteration,long-integer,largenumber,Python,Iteration,Long Integer,Largenumber,我想它做了我期望的事情,但它的速度太慢,无法计算这么大的数字,我等了5分钟才打印出来(python使用100%的cpu来计算…),但它没有。有没有更有效的方法来重写这段代码,这样我就可以知道需要多少次迭代才能完成 非常感谢您不是在寻找一个部门吗?您可以使用i=a/d:D试试3833333.3333。AKAr/d a = 218500000000 s = 6 f = 2 k = 49 d = k + f + s r = a i = 0 while (r >= d): r = r -

我想它做了我期望的事情,但它的速度太慢,无法计算这么大的数字,我等了5分钟才打印出来(python使用100%的cpu来计算…),但它没有。有没有更有效的方法来重写这段代码,这样我就可以知道需要多少次迭代才能完成


非常感谢

您不是在寻找一个部门吗?

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

试试
3833333.3333
。AKA
r/d

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)
使用

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

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

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

i, r = divmod(a,d)

你到底想让它做什么?你在计算什么?@S.Lott:我希望在我上学甚至上大学的时候也有这样的存在@nimbuz:如果这不是家庭作业,请提供一些背景说明为什么你在做一些效率如此之低的事情。你从哪里得到这个算法的?你为什么要用它?只有家庭作业才能证明做一件简单事情的方法如此糟糕。哦,除法比加法/减法快吗?我很想知道为什么!:)得到了答案,顺便说一句,3833333.33。不过,想知道为什么除法更快吗?@:Nimbuz,这取决于,2,4,8等幂的除法。。。和加减法一样快。即使数字不是二次幂,除法仍然比许多加法/减法快。同样在现代硬件中,除法是以与加法/减法相同的时钟周期执行的。@Nimbuz,如果你必须乘法
1000*234
你会将
234
求和1000次还是应用乘法算法?@:Numbuz,在你的情况下,你所做的不仅仅是几次加法/减法。在每个循环中,对
i
执行一次加法,对
r
执行一次减法,并执行
r
d
的条件。你已经做了无数次了:p。
a = 218500000000
s = 6
f = 2
k = 49
d = k + f + s

i = a // d

print (i)