콘텐츠로 건너뛰기
Home » 프로젝트 오일러

프로젝트 오일러

오일러 프로젝트 82

(참고: 이 문제는 81번 문제의 좀 더 어려운 버전입니다)

아래와 같은 5×5 행렬이 있습니다. 맨 왼쪽 열의 아무곳에서나 출발하여 위/아래/오른쪽으로만 움직이면서 맨 오른쪽 열까지 갈 때, 빨갛게 표시된 경로의 합이 994로 가장 작습니다.

31kB 짜리 파일 matrix.txt에는 80×80 행렬의 정보가 들어있습니다. 위와 같은 방법으로 이 행렬의 맨 왼쪽 열에서 출발하여 오른쪽 열까지 갈 때, 경로 합의 최소값은 얼마입니까?

더 보기 »오일러 프로젝트 82

오일러 프로젝트 62

오일러 프로젝트 62 번 문제는 순열로 이루어진 숫자들 사이에서 세 제곱수가 5번 나오는 수를 찾는 것이다.  60번을 넘어서면서부터는 한국어 사이트의 포럼에서 정답자 수나 코드를 올린 포스트의 수가 격감하는데, 이 문제는 그리 어려운 수준의 문제는 아니다.
더 보기 »오일러 프로젝트 62

프로젝트 오일러 51

오랜만에 다시 시작하는 프로젝트 오일러 문제이다. 참고로 50번을 넘어서면서부터는 꽤 어려운 문제들이 많이 나오기 시작한다.

두자리 숫자 *3 의 첫번째 자리를 여러가지로 바꿨을 때 가능한 아홉가지의 결과 중에서 13, 23, 43, 53, 73, 83의 여섯개는 소수입니다. 56**3의 세 번째와 4번째 자리를 동일한 숫자로 바꿔서 만들어지는 10개의 다섯자리 숫자 중에는 아래에서 보듯이 7개가 소수가 되며, 이것은 이런 식으로 7개의 소수가 만들어지는 첫번째 경우입니다. 이 소수 집단의 첫번째 수인 56003은 이런 성질을 갖는 가장 작은 소수입니다.

56003, 56113, 56333, 56443, 56663, 56773, 56993

위의 예처럼 원래의 일부를 동일한 숫자로 치환했을 때 8개의 소수 집단이 만들어지는 경우를 찾고, 그 집단에 속한 가장 작은 소수를 구하세요. 치환하는 자리는 인접하지 않아도 되고, 가장 앞부분을 치환하는 경우에는 거기에 0은 올 수 없습니다.

더 보기 »프로젝트 오일러 51

오일러 프로젝트 47

소인수 분해했을 때, 서로 다른 소인수가 4개 나오는 수가 연속해서 네 번 나오는 경우를 찾으면 된다. 서로 다른 소인수를 찾는 문제는 결국 소인수 분해를 해야한다는 의미이다. 제법 괜찮은 성능의 소인수분해 함수를 작성하는 것이 핵심이 된다.

더 보기 »오일러 프로젝트 47

오일러 프로젝트 43

오일러 프로젝트 43 번 문제는 0-9 팬디지털 숫자의 일부분이 특정한 규칙 (4번째 자리부터 세자리씩 끊었을 때 소수로 나눠짐)을 따른다고 할 때, 이런 규칙을 따르는 값 모두를 찾는 것이다. 숫자 1406357289은 0 ~ 9 팬디지털인데, 부분열에 관련된 재미있는 성질을 가지고 있습니다. d1을 첫째 자리수, d2를 둘째 자리수…라고 했을 때, 다음과 같은 사실을 발견할 수 있습니다. d2 d3 d4 = 406 → 2로 나누어 떨어짐 d3 d4 d5 = 063 → 3으로 나누어 떨어짐 d4 d5 d6 = 635 → 5로 나누어… 더 보기 »오일러 프로젝트 43

오일러 프로젝트 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
더 보기 »오일러 프로젝트 39