In Problem 4 von http://projecteuler.net/ heißt es:höchster Palindrom mit 3-stelligen Zahlen in Python
A Zahlenpalindrom liest das in beiden Richtungen gleich. Das größte aus dem Produkt zweier zweistelliger Zahlen hergestellte Palindrom ist 9009 = 91 * 99.
Finden Sie das größte Palindrom, das aus dem Produkt zweier dreistelliger Zahlen besteht.
Ich habe diesen Code hier
def isPalindrome(num):
return str(num) == str(num)[::-1]
def largest(bot, top):
for x in range(top, bot, -1):
for y in range(top,bot, -1):
if isPalindrome(x*y):
return x*y
print largest(100,999)
Es sollte die größte Palindrom finden, es spuckt 580085
was ich glaube, um korrekt zu sein, aber Project Euler nicht so denken, muss ich etwas falsch gemacht haben Hier?
Als ich verehrte die for-Schleife habe ich denke, dass es nicht durch, entfernte ich die Sache, die für den größten prüft, albern mich. Heres der Arbeitscode
def isPalindrome(num):
return str(num) == str(num)[::-1]
def largest(bot, top):
z = 0
for x in range(top, bot, -1):
for y in range(top,bot, -1):
if isPalindrome(x*y):
if x*y > z:
z = x*y
return z
print largest(100,999)
spuckt es 906609
FYI die Antwort '906609' –
Wodurch Zahlen? – FabianCook
Weil ich bekam 995 * 583 = 580085 – FabianCook