nel Problema 4 da http://projecteuler.net/ si dice:più alto palindromo con 3 numeri a due cifre in pitone
Un numero palindromo si legge la stessa in entrambi i modi. Il più grande palindromo ricavato dal prodotto di due numeri a due cifre è 9009 = 91 * 99.
Trova il palindromo più grande realizzato con due numeri a 3 cifre.
Ho questo codice qui
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)
Dovrebbe trovare il più grande palindromo, sputa fuori 580085
che credo di essere corretto, ma Project Euler non la pensa così, devo qualcosa di sbagliato Qui?
Quando ho venerato il ciclo for non pensavo che attraverso, ho rimosso la cosa che controlla la più grande, mi sciocca. Heres il codice di lavoro
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)
sputa fuori 906609
FYI la risposta è '906609' –
Con quali numeri? – FabianCook
Perché ho ottenuto 995 * 583 = 580085 – FabianCook