소수를 크기 순으로 나열하면 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>
댓글 없음:
댓글 쓰기