소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다.
이 때 10,001번째의 소수를 구하세요.
Click 이 때 10,001번째의 소수를 구하세요.
배열에 지금까지의 소수를 넣고 해당 소수들로 나누어떨어지는지로 판단.
<script>
function p007_in(n){
if(n<=2){
alert(n);
return;
}
var cnt = 1;
var prime = new Array();
prime[0] = 2;
var t = 3;
while(cnt<n){
var check = true;
for(var i=0; i<cnt; i++){
if(prime[i]>t/prime[i-1])
break;
else if(t%prime[i] == 0){
check = false;
break;
}
}
if(check)
prime[cnt++] = t;
t += 2;
}
alert(prime[n-1]);
}
</script>
댓글 없음:
댓글 쓰기