Projeto Euler - solução errada nº 1 do Python
Eu sou relativamente novo em codificação em geral e iniciei o Project Euler para levar minha codificação um pouco mais longe. Passei um tempo pensando em como trabalhar a primeira pergunta por conta própria e tentei usar funções recursivas, infelizmente sempre obtendo o mesmo erro (266333). Do que eu perdi? Algum grande erro para aprender?
A pergunta original diz: "Se listarmos todos os números naturais abaixo de 10 que são múltiplos de 3 ou 5, obtemos 3, 5, 6 e 9. A soma desses múltiplos é 23.
Encontre a soma de todos os múltiplos de 3 ou 5 abaixo de 1000. "
def function(i, j, h, k):
if j < 1000 and k < 1000:
i = i + j
h = h + k
return function(i, j+3, h, k+5)
elif j < 1000 and k >= 1000:
i = i + j
return function(i, j+3, h, k)
elif j >= 1000 and k < 1000:
h = h + k
return function(i, j, h, k+5)
else:
print (i + h)
function(0,0,0,0)
Onde i é a soma dos múltiplos de 3, h é a soma dos múltiplos de 5, j é múltiplos de 3 e k é múltiplos de 5.