Pergunta

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)

Eu acho que faz o que eu espero, mas é lento demais para calcular um número tão grande, esperei 5 minutos para imprimir (enquanto Python usava 100% de CPU para calcular ..), mas não o fez. Existe uma maneira mais eficiente de reescrever esse código para que eu possa ver quantas iterações (i) são necessárias para concluir?

Muito Obrigado

Foi útil?

Solução

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

Use o Módulo e operadores de divisão.

Há também uma função divmod para calcular os dois juntos:

i, r = divmod(a,d)

Outras dicas

Você pode usar i = a/d. : D

Não é uma divisão o que você está procurando?

tentar 3833333333.3333333333333333333333. Aka r / d.

Parece que você está fazendo uma divisão truncadora para mim. Ou seja, você deseja descobrir quantas vezes D entra em um sem saber o restante.

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

i = a // d

print (i)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top