The decimal number, 585 = 10010010012 (binary), is palindromic in both bases.

Find the sum of all numbers, less than one million, which are palindromic in base 10 and base 2.

(Please note that the palindromic number, in either base, may not include leading zeros.)

 

10진수 585는 2진수 10010010012 이며 2진수, 10진수에서 모두 회문이다.

백만 이하의 숫자 중에서 10진수, 2진수로 모두 회문인 숫자의 합을 구하시오.

(2진수, 10진수 모두에서 회문은 0으로 시작되지 않는 것에 주의하시오)

--------------------------------------------------------------------------

 

4번 문제에서 나왔지만 회문은 앞, 뒤 양쪽에서 읽었을 때 같은 것을 이야기하는데, 이번 문제는 2가지 진법에 대해 적용하게 되어 있어 난이도가 좀 더 높아졌다.

 

주의사항에서 0으로 시작되지 않는다고 했기 때문에 10진수에서 짝수이면 2진수에서 0으로 끝나고 회문으로 만들면 0으로 시작하기 때문에, 홀수만 대상으로 회문을 확인하면 된다.

 

10진수를 2진수로 바꾸는 것은 내장함수 bin()을 활용했는데, 이렇게 하면 0b로 시작되는 결과값이 나오기 때문에 회문을 판별할때는 0b를 제외하기 위해 2진수의 3번째 자리부터 회문여부를 판별하면 된다.

 

효율적이지는 않지만 문제에서 요구한 내용에 따라 답을 구할수는 있다.

+ Recent posts