통계, IT, AI

7. 10001st prime 본문

IT/PROJECT_EULER

7. 10001st prime

Harold_Finch 2016. 1. 14. 22:05

1. 개요

문제는 이곳에서 확인할 수 있다.
10,001번째 소수를 구하는 것이 문제의 목적이다.

2. Ver 1.0

어떤 수가 소수인지 판별하는 문제에 대해서는 예전에도 포스트한 적이 있다.
본 문제를 해결하는데에도 유사한 방법을 사용할 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// javascript
var prime = [2,3];
var prime_candidate = prime[prime.length-1];
 
while( prime.length < 10001 ){
     
    prime_candidate += 2;
     
    var is_prime = ( function(){
         
        var lim = Math.sqrt( prime_candidate );
         
        for( p in prime ){
            if( lim < p ) break;
            if( prime_candidate % p == 0 ) return false;
        }
     
        return true;
     
    }());
     
    if( is_prime ){
        prime.push( prime_candidate );
    }
     
}
 
console.log( 'answer: ' + prime[prime.length-1] );

답은 104743이다.

'IT > PROJECT_EULER' 카테고리의 다른 글

9. Special Pythagorean triplet  (0) 2017.01.02
8. Largest product in a series  (0) 2017.01.01
6. Sum square difference  (0) 2016.01.10
5. Smallest multiple  (0) 2016.01.07
4. Largest palindrome product  (0) 2016.01.04
Comments