项目欧拉,回文问题,没有得到预期的答案,python [英] Project Euler, palindrome problem, not getting intended answer, python
本文介绍了项目欧拉,回文问题,没有得到预期的答案,python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
a = []
b = []
for x in 范围( 101 , 999 ):
y 范围内( 101 , 199 ):
z = x * y
a.append(z)
def reverse(n):
n = str(n)
如果 n == n [:: - 1]:
n = int ( n)
b.append(n)
return b
for number in a:
reverse(number)
print max(b)
我的结果是180181,但应该是906609.
最初的问题是:
回文麻木呃两种方式都是一样的。由两个2位数字的乘积制成的最大回文是9009 = 91×99。
找到由两个3位数字的乘积制成的最大回文。
解决方案
我会保持简单:
m = 0
x 范围内( 100 , 999 ):
y 范围内的class =code-keyword>( 100 , 999 ):
z = x * y
n = str(z)
if n == n [:: - 1 ]:
如果 m< z:
m = z
打印跨度>(M)
a = []
b = []
for x in range (101, 999):
for y in range (101, 199):
z = x * y
a.append(z)
def reverse(n):
n = str(n)
if n == n[::-1]:
n = int(n)
b.append(n)
return b
for number in a:
reverse(number)
print max(b)
My result is 180181 but it should be 906609.
The original problem was:
"A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers."
解决方案
I would keep it simple:
m = 0 for x in range (100, 999): for y in range (100, 999): z = x*y n = str(z) if n == n[::-1]: if m < z: m = z print(m)
这篇关于项目欧拉,回文问题,没有得到预期的答案,python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文