본문 바로가기
개발/알고리즘 문제

[Project Euler 04] 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수

by 유다110 2016. 3. 1.
반응형

앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.

두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.

세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까?


#python3
palindrome = []
def get_palindrome(num1, num2) :
max_palindrome = 0
num2_org = num2
while num1 > (num1/10) :
while num2 > (num2/10) :
multipled_num = num1*num2
if is_palindrome(multipled_num) and (max_palindrome < multipled_num):
max_palindrome = multipled_num
num2 -= 1
num1 -= 1
num2 = num2_org
return max_palindrome
def is_palindrome(num) :
if str(num) == str(num)[::-1] :
return True
else :
return False
print(get_palindrome(9999, 9999))
반응형

댓글