Project Euler No. 4最大のパリンドローム製品

トピック

回文数はどちらの方法でも同じです。2つの2桁の数値の積から作成される最大の回文は、9009 = 91×99です。

2つの3桁の数値の積から作られた最大の回文を見つけます。

回文番号は両方向で同じです。2つの2桁の数値を掛けて得られる最大の回文は、9009 = 91×99です。

2つの3桁の数値を掛けた最大の回文を見つけます。

アイデア

最初に、2つの数値の積の結果をすべて100〜999の範囲でリストに入れ、次にそれらを最大から最小に並べ替え、ループして各数値が回文かどうかを判断します。

コードの実装(Python)

from past.builtins import xrange


def ispalindromic(num):
    num = str(num)
    strlist = list(num)
    strlist.reverse()
    numreverse = ''.join(strlist)
    if num == numreverse:
        return True
    else:
        return False


if __name__ == '__main__':
    l = [x * y for x in xrange(999, 99, -1) for y in xrange(999, 99, -1)]
    l.sort(reverse=True)
    for i in range(len(l)):
        if ispalindromic(l[i]) is True:
            print(l[i])
            break

 

おすすめ

転載: blog.csdn.net/weixin_41297561/article/details/108631790