* Computer Science/Project Euler

project euler 36. problem

soicem 2016. 9. 1. 07:05

대칭수(palindrome)인 585는 2진수로 나타내도 10010010012가 되어 여전히 대칭수입니다.

10진법과 2진법으로 모두 대칭수인 1,000,000 이하 숫자의 합을 구하세요.

(주의: 첫번째 자리가 0이면 대칭수가 아님)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def palindrome(n):
    n = str(n)
    length = len(n)
    i = 0
 
    while length > i:
        if n[i] == n[length-1]:
            i +=1
            length -=1
        else:
            return False
    return True
 
arrays = range(11000001)
result = 0
for element in arrays:
    if palindrome(element):
        if palindrome(str(bin(element))[2:]):
            #print str(bin(element))[2:], element
            result += element
 
print "the answer :", result
 
 
 
cs



C:\Users\soicem\Desktop\연습용 폴더>python test.py

the answer : 872187


가볍게 ~ 근데 1의 자릿수를 대칭수라고 할 수 있나? 

'* Computer Science > Project Euler' 카테고리의 다른 글

project euler 39. problem  (0) 2016.09.20
project euler 38. problem  (0) 2016.09.06
project euler 목적.  (0) 2016.08.30
project euler 34. problem  (0) 2016.08.29
project euler 33. problem  (0) 2016.08.26