2009-11-17 5 views
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 분을 기다렸다. (파이썬은 계산할 때 100 % CPU를 사용했지만 ..) 하지 않았다. 이 코드를 다시 작성하는 효율적인 방법이 있습니까? 그래서 완료하는 데 얼마나 많은 반복이 필요한지 확인할 수 있습니까?이 계산을위한보다 효율적인 방법은 무엇입니까?

많은 감사

+0

당신이 실제로 무엇을 원하는가? 너 뭐야? – Jimmeh

+1

는 I, R = divmod (a, d)는 물론 – Miles

+0

숙제 같다. –

답변

2

당신을 위해 무엇을 찾고있는 부문 아닙니까?

4

당신은 i = a/d를 사용할 수 있습니다. : D

+1

그리고'r = a % d'. – NawaMan

+0

아, 분수가 더하기/빼기보다 빠릅니까? 왜 그런지 알고 싶어! :) – 3zzy

+0

대답이 btw, 3833333333.33 있습니다. 그럼 왜 부서가 더 빨리되는지 알고 싶습니까? – 3zzy

0

3833333333.3333333333333333333333을 시도합니다. AKA r/d.

0

가 보이는 :

도 함께 모두 계산하는 divmod 기능이있다. 즉, 나머지를 모른 채 d에 들어가는 횟수를 알아야합니다.

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

i = a // d 

print (i) 
관련 문제