설명

http://euler.synap.co.kr/ 4번 문제입니다.

문제

앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.
두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.
세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까?

코드

파이썬 2.7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def is_palin(n):
    length = len(str(n))/2
    for i in range(0,length):
        if str(n)[i] != str(n)[-i-1]:
            return 0
    return 1
 
result = 0
 
for a in range(100,1000):
    for b in range(100,1000):
        if is_palin(a*b):
            result = max(result, a*b)
print result
cs


댓글

댓글을 달아 주세요

댓글 달기
접기