태그: 오일러프로젝트

21세기소년, Project_Euler, 스터디

project euler 38

오일러 프로젝트 38 번 숫자 192에 1, 2, 3을 각각 곱합니다. 192 × 1 = 192 192 × 2 = 384 192 × 3 = 576 곱한 결과를 모두 이어보면 192384576 이고, 이것은 1 ~ 9 팬디지털(pandigital)인 숫자입니다. 이런 과정을 편의상 ‘곱해서 이어붙이기’라고 부르기로 합니다. 같은 식으로 9와 (1, 2, 3, 4, 5)를 곱해서 이어붙이면 …

21세기소년, Project_Euler, Python, 스터디

project euler 37

오일러 프로젝트 37 번 소수 3797에는 왼쪽부터 자리수를 하나씩 없애거나 (3797, 797, 97, 7) 오른쪽부터 없애도 (3797, 379, 37, 3) 모두 소수가 되는 성질이 있습니다. 이런 성질을 가진 소수는 단 11개만이 존재합니다. 이것을 모두 찾아서 합을 구하세요. (참고: 2, 3, 5, 7은 제외합니다) http://euler.synap.co.kr/prob_detail.php?id=37 조건에 맞는 소수들을 세면서 11개가 될때까지 검사를 수행해야 한다. 왼쪽에서 한자리씩 …

21세기소년, Project_Euler, Python, 스터디

project euler 36

오일러 프로젝트 36 번 대칭수(palindrome)인 585는 2진수로 나타내도 10010010012가 되어 여전히 대칭수입니다. 10진법과 2진법으로 모두 대칭수인 1,000,000 이하 숫자의 합을 구하세요. (주의: 첫번째 자리가 0이면 대칭수가 아님) http://euler.synap.co.kr/prob_detail.php?id=36 이진수 변환하는 법은 중학교때 배우니 따로 설명하지 않는다. 또한 짝수의 경우 이진수의 끝자리가 0이므로 굳이 판별할 필요가 없다. def is_palindrome(n): s = str(n) return s == s[::-1] …