Самый большой палиндромный продукт из трех цифр
Я написал следующий код на python для этой проблемы из Project Euler: Самый большой продукт палиндрома
y = 1000
x = 1000
while y >= 100:
y-=1
while x >= 100:
x-=1
product = y*x
string = str(product)
if str(product) == string[::-1]:
print(product)
Но это ничего не выводит в простое... в чем проблема?
2 ответа
Решение
Вы должны повторно инициализировать x
внутри внешней петли:
while y >= 100:
x = 1000
...
Вам нужно инициализировать х в цикле. Но это гораздо проще использовать для циклов, и полностью избежать проблемы инициализации.
for y in range(100, 1000):
for x in range(100, 1000):
prod = x * y
if str(prod) == str(prod)[::-1]:
print(prod)
## Для новичков... Это может вам помочь! ##
pro=[]
fin=[]
my_num=[]
x=[]
rev_num=[]
for a in range (100,1000):
for b in range (100,1000):
my_num.append(str(a*b))
l1= len(my_num)
for i in range(0,l1):
rev_num.append(my_num[i][::-1])
for j in range(0,l1):
if(my_num[j]==rev_num[j]):
pro.append(int(my_num[j]))
pro.sort()
print(f'Largest palindrome product in the range is {pro[-1]}')