求质数——埃拉托色筛选法
Posted 朝雾之归乡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求质数——埃拉托色筛选法相关的知识,希望对你有一定的参考价值。
#include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { int i = 2, j = 0; long N = atol(argv[1]); int *a = malloc(N*sizeof(int)); if (NULL == a) { printf("There is no enough memory!\n"); return -1; } for(i=2; i<N; i++) a[i] = 1; for(i=2; i<N; i++) { if(a[i]) { for(j=i; j*i<N; j++) { a[i*j] = 0; } } } for(i=2; i<N; i++) { if(a[i]) printf("%4d ", i); } printf("\n"); return 0; }
以上是关于求质数——埃拉托色筛选法的主要内容,如果未能解决你的问题,请参考以下文章