오일러 프로젝트 77
77번문제는 앞선 문제인 76번이나 31번과 완전 같은 문제라 할 수 있다. 다만 동전의 액면가가 N 보다 작은 소수들이면 된다.
더 보기 »오일러 프로젝트 7777번문제는 앞선 문제인 76번이나 31번과 완전 같은 문제라 할 수 있다. 다만 동전의 액면가가 N 보다 작은 소수들이면 된다.
더 보기 »오일러 프로젝트 77오일러 프로젝트 73번 문제는 기약진분수에 대한 문제이다. 이전 두 문제에서 오일러 피함수와 관계한 기약 진분수의 문제는 악몽과 같은 수행 시간을 보였는데, 이 문제는 그나마 스케일이 조금 작아서 그다지 어렵지 않다.
더 보기 »오일러 프로젝트 73더 보기 »오일러 프로젝트 39세 변의 길이가 모두 자연수 {a, b, c}인 직각삼각형의 둘레를 p 로 둘 때, p = 120 을 만족하는 직각삼각형은 아래와 같이 세 개가 있습니다.
{20, 48, 52}, {24, 45, 51}, {30, 40, 50}
p가 1000이하일 때, 세변의 길이가 모두 자연수인 직각삼각형을 가장 많이 만들 수 있는 p의 값은 얼마입니까?
원문 : http://euler.synap.co.kr/prob_detail.php?id=39
오일러 프로젝트 38 번 문제는 반복된 곱셈의 결과를 이어 붙인 것이 1-9 팬디지털 숫자를 만들어 내는지를 보고, 그렇게 만들어지는 팬디지털 숫자중에 가장 큰 값을 찾는다. 문제 그대로를 코딩하면 되는 것이기도 하고 검사 범위도 매우 좁기 때문에 1도 어렵지 않은 문제이다. 숫자 192에 1, 2, 3을 각각 곱합니다. 92 × 1 = 192 192 × 2 = 384 192 × 3 = 576 곱한 결과를 모두 이어보면 192384576 이고, 이것은 1 ~ 9 팬디지털(pandigital)인 숫자입니다. 이런 과정을 편의상 ‘곱해서 이어붙이기’라고 부르기로… 더 보기 »오일러 프로젝트 38
오일러 프로젝트 37 번 문제는 순환소수와 약간 비슷하지만, 의외로 성가신 구석이 매우 많은 문제이다. 동시에 잘 설계된 가드가 얼마나 수행 속도를 빠르게 만들어줄 수 있는지에 대한 좋은 예이기도 하다.
Update: 코드를 처음부터 새로 작성했다. 처음 이 풀이를 작성했을 때 처리 시간은 약 8초 가량이었는데, 1초대로 줄였다. 소수 검사 함수를 메모이제이션하는 등의 테크닉을 적용하면 수행 속도를 조금 더 올릴 수 있다.
소수 3797에는 왼쪽부터 자리수를 하나씩 없애거나 (3797, 797, 97, 7) 오른쪽부터 없애도 (3797, 379, 37, 3) 모두 소수가 되는 성질이 있습니다. 이런 성질을 가진 소수는 단 11개만이 존재합니다. 이것을 모두 찾아서 합을 구하세요. (참고: 2, 3, 5, 7은 제외합니다) (http://euler.synap.co.kr/prob_detail.php?id=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)
더 보기 »오일러 프로젝트 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)
더 보기 »오일러 프로젝트 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)
더 보기 »오일러 프로젝트 37오일러 프로젝트 36 번은 대칭수에 대한 문제이다. 대칭수는 이전에도 몇 번 나왔던 문제이다.
대칭수(palindrome)인 585는 2진수로 나타내도 10010010012가 되어 여전히 대칭수입니다. 10진법과 2진법으로 모두 대칭수인 1,000,000 이하 숫자의 합을 구하세요. (주의: 첫번째 자리가 0이면 대칭수가 아님)
http://euler.synap.co.kr/prob_detail.php?id=36
오일러 프로젝트 35 번 문제는 순환하는 소수에 대한 내용이다. 소수 중에서 각 자리의 숫자들을 순환시켜도 여전히 소수인 것을 circular prime이라고 합니다. 예를 들어 197은 971, 719가 모두 소수이므로 여기에 해당합니다. 이런 소수는 100 밑으로 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 97 처럼 13개가 있습니다. 그러면 1,000,000 밑으로는 모두 몇 개나 있을까요? http://euler.synap.co.kr/prob_detail.php?id=35 접근 먼저 순환하는 수를 어떻게 만들 수 있을까? (문자열로 변환) -> (앞글자를 떼어) -> (맨뒤에추가) -> (정수로변환) 하는 작업을 해도 되는데, 괜히… 더 보기 »오일러 프로젝트 35
오일러 프로젝트 34 번 문제는 어떤 수를 각자리 숫자로 나누고, 각 자리 숫자들의 팩토리얼 값의 합계를 계산했을 때 원래 값이 되는 것들을 찾는 문제이다.
더 보기 »오일러 프로젝트 34
오일러 프로젝트 27 번은 0부터 연속된 자연수(요즘 대수학에서는 0도 자연수에 포함시킨다하던데…)를 넣었을 때 소수를 계속만들 수 있는 이차식에 대한 문제이다. 바로 가장 긴 소수 수열을 만들 수 있는 계수의 조합을 구한다.
더 보기 »오일러 프로젝트 27
오일러 프로젝트의 22번 문제는 특정한 문자열을 정해진 규칙에 따라 점수로 환원하고 그 합계를 계산하는 것이다.
여기 5천개 이상의 영문 이름들이 들어있는 46KB짜리 텍스트 파일 names.txt 이 있습니다 (우클릭해서 다운로드 받으세요). 이제 각 이름에 대해서 아래와 같은 방법으로 점수를 매기고자 합니다. 먼저 모든 이름을 알파벳 순으로 정렬합니다. 각 이름에 대해서, 그 이름을 이루는 알파벳에 해당하는 숫자(A=1, B=2, …, Z=26)를 모두 더합니다. 여기에 이 이름의 순번을 곱합니다. 예를 들어 “COLIN”의 경우, 알파벳에 해당하는 숫자는 3, 15, 12, 9, 14이므로 합이 53, 그리고 정렬했을 때 938번째에 오므로 최종 점수는 938 × 53 = 49714가 됩니다. names.txt에 들어있는 모든 이름의 점수를 계산해서 더하면 얼마입니까? ::
http://euler.synap.co.kr/prob_detail.php?id=21