项目欧拉,回文问题,没有得到预期的答案,python [英] Project Euler, palindrome problem, not getting intended answer, python

查看:77
本文介绍了项目欧拉,回文问题,没有得到预期的答案,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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆