통계, 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

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

// 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