오일러 프로젝트 9번 (Julia)
문제 세 자연수 a, b, c 가 피타고라스 정리 a^2 + b^2 = c^2을 만족하면 피타고라스 수라고 부릅니다.(여기서 \(a < b < c\) ) 예를 들면 \(3^2 + 4^2 = 9 + 16 = 25 = 5^2\)이므로 3,4,5는 피타고라스 수입니다. a + b + c = 1000 인 피타고라스 수 a, b, c는 한가지 뿐입니다. 이 때, a, b, c는 얼마입니까? 풀이 a < b < c 인 조건을 사용해서 a, b의 범위를 줄이면 간단하게 풀 수 있다. (뿐만 아니라 삼각형의 세 변의 조건을 추가로 적용할 수 있지만 이 문제에서는 큰 영향을 주지 않는다.) 세 변의 길이의 합이 1000으로 고정되어 있고, b는 c보다 작거나 같아야 하고 a는 다시 b보다 작거나 같아야 한다. 즉 a를 ..
더보기
오일러 프로젝트 7번
문제 소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다. 이 때, 10,001 번째의 소수를 구하세요. 풀이 드디어 소수 판별 함수가 등장할 차례이다. 소수의 목록을 구하는 방법에는 크게 두 가지 가 있는데, 하나는 소수판별함수를 작성하여 루프를 돌거나 리스트를 필터링하는 것이고 다른 하나는 에라토스테네스의 체를 이용하는 것이다. 에라토스테네스의 체는 매우 빠르게 동작할 수는 있지만 범위를 알고 있는 경우에 유용할 수 있다. 소수의 분포에는 현재까지는 알려진 규칙이 없으므로 10,001 번째 소수가 어디쯤에 위치할지를 가늠할 수 없다. 따라서 소수 판별 함수를 통해서 2에서부터 소수를 하나씩 세어보는 수 밖에 없을 것 같다. 관건은 얼마나 빠른 소수 판별 함수를 작성..
더보기