숫자의 가장 큰 소수를 계산하는 가장 좋은 방법은 무엇입니까?
가장 효율적인 것은 다음과 같습니다.
- 깨끗하게 나누는 가장 작은 소수를 찾으십시오.
- 분할 결과가 소수인지 확인
- 그렇지 않은 경우 다음 최저 찾기
- 2로 가십시오.
나는 작은 소수를 계산하기가 더 쉽다는 가정에 근거하고 있습니다. 이게 맞습니까? 다른 접근 방법은 무엇입니까?
편집 : 이제 2 가지 이상의 주요 요소가있는 경우 내 접근 방식이 쓸모가 없다는 것을 깨달았습니다. 결과가 두 개의 다른 소수의 곱일 때 2 단계가 실패하므로 재귀 알고리즘이 필요합니다.
다시 편집 : 그리고 마지막으로 발견 된 소수가 가장 높아야하므로 2 단계에서 비 프라임 결과를 추가로 테스트하면 소수가 작아지기 때문에 여전히 작동한다는 것을 알았습니다.
1.
명확하게 나누는 (i = 2의 경우 int (sqr (num))) 2.
해당 숫자로 나눈 숫자 (num = num / i)를 찾고 1에 아무것도 발견되지 않을 때까지 반복합니다 . 간격 3.
num 이 가장 큰 요인