Script / CSS

G1sUtil.js

G1sBlogger.js

G1sNavigationList.js

G1sCode

Posts List


2012년 2월 15일 수요일

[Project Euler] 7. 10001번째의 소수?

7. 10001번째의 소수?
소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다.
이 때 10,001번째의 소수를 구하세요.
Click

배열에 지금까지의 소수를 넣고 해당 소수들로 나누어떨어지는지로 판단.
<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>

댓글 없음:

댓글 쓰기