2015年12月31日木曜日

3桁の積で作られる最大の回文数

Project Euler 4

回文数とは左右の両端のどちらから読んでも同じ値になる数のことである。2桁の整数の積で作られる最大の回文数は、9009 = 91$\times$99 である。
では、3桁の整数の積で作られる最大の回文数は?


与えられた数値を文字列に変換し、左右反転したものとオリジナルを比較すれば容易に回文数であることを確認できる。
なお計算量を低減するため、積の可換則を考慮してある。
# SAMPLE_1


def is_palindromic_number(n):
    s = str(n)
    if s == s[::-1]:
        return True
    return False

ans = 0
for i in xrange(100, 1000):
    for j in xrange(i, 1000):
        x = i * j
        if is_palindromic_number(x) is True:
            if ans < x:
                ans = x
print ans

0 件のコメント:

コメントを投稿