Ich erhalte eine "maximale Rekursion Tiefe überschritten" Fehler bei der Ausführung meines Programms, um dieses Problem zu lösen. Projekt Eulers question #5 fragt zu finden:RekursionError im Projekt Euler # 5
Die kleinste positive Zahl, die durch alle Zahlen von 1 bis 10.
I teilbar ist habe versucht, ein Programm zu schreiben, die rekursiv überprüft, ob x
ist teilbar durch jede ganze Zahl 1-10, und wenn es nicht dann wir rufen es wieder mit x
erhöht um 1 und wiederholen, bis x
gefunden wird. (In diesem Fall ist die Antwort 2520, weshalb ich die if-Anweisung hinzugefügt.)
def euler5(x):
if x < 2521:
for i in range(1, 11):
if x % i == 0:
print(x)
else:
euler5(x+1)
else:
print(x)
x = 2
print(euler5(x))
Warum Sie Rekursion verwenden und nicht eine Schleife? – Blorgbeard
Wenn Sie bereits die Antwort wissen, warum benötigen Sie den Code? :) In aller Ernsthaftigkeit soll der Code jedoch ohne Limit-Check funktionieren, das ist die Idee des Problems - die Nummer –