Primes 4 댓글 #include int tnumber(n){ return 2*n*n-1; } int main(){ int i, j; j=0; for(i=1;i<50000000;i++){ if(isPrime(i)==_YES) j++; } printf(“%d\n”,j); }
snowall 2008년 11월 21일 3:27 오전 2부터 sqrt(n)보다 작은 최대의 정수까지 하나씩 다 나눠봅니다. 사실은 2부터 sqrt(n)보다 작은 최대의 소수까지 하나씩 다 나눠보면 되는데, 그럼 isPrime을 재귀적으로 사용하든가, 아니면 prime들의 목록을 만들어놓고 일하든가 해야 하므로 효율적이지는 않습니다. 응답 ↓
NoSyu 2008년 11월 21일 2:33 오전 isPrime함수가 어떤 알고리즘을 쓰는지 문득 궁금해졌습니다.^^;; 전에 Scheme를 공부하면서 소수찾기 알고리즘 소개만 받은지라..;;OTL… http://nosyu.egloos.com/tag/%EC%86%8C%EC%88%98%EC%B0%BE%EA%B8%B0 응답 ↓
snowall 2008년 11월 18일 4:50 오전 음…-_-; 이게 snowall_math.h 파일을 기본적으로 인크루드 하도록 되어 있기 때문에 여기에 정의되지 않은 것도 있습니다. 그건 그렇고, 무슨일을 하는 프로그램인지 소개도 안했는데 알아보시는군요 -_-; 응답 ↓
2부터 sqrt(n)보다 작은 최대의 정수까지 하나씩 다 나눠봅니다.
사실은 2부터 sqrt(n)보다 작은 최대의 소수까지 하나씩 다 나눠보면 되는데, 그럼 isPrime을 재귀적으로 사용하든가, 아니면 prime들의 목록을 만들어놓고 일하든가 해야 하므로 효율적이지는 않습니다.
isPrime함수가 어떤 알고리즘을 쓰는지 문득 궁금해졌습니다.^^;;
전에 Scheme를 공부하면서 소수찾기 알고리즘 소개만 받은지라..;;OTL…
http://nosyu.egloos.com/tag/%EC%86%8C%EC%88%98%EC%B0%BE%EA%B8%B0
음…-_-;
이게 snowall_math.h 파일을 기본적으로 인크루드 하도록 되어 있기 때문에 여기에 정의되지 않은 것도 있습니다.
그건 그렇고, 무슨일을 하는 프로그램인지 소개도 안했는데 알아보시는군요 -_-;
… 나, 낚였다.
처음 볼 때 isPrime이 코드 본문중에 정의되어 있는 줄 알았어요 ㅠㅠ