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分待ちました(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 に答える