读书人

质数(素数)的求解(淘选法)

发布时间: 2012-12-23 11:28:15 作者: rapoo

质数(素数)的求解(筛选法)

法一:

求质数的方法最简单的就是这样:

?

/* 筛选法 */void get2(long int s[], int N){int cur, i;long int n;s[1] = 2;cur = 2;while(cur < N){// find the num'th n = s[cur-1] + 1;// or bigger one to begin searchingwhile(1){for(i = 1; i < cur; i ++)if(n % s[i] == 0)// not matchbreak;if(i == cur) {// matchs[cur] = n;break;} else n++;//next trying}cur++;//next number}}

?

?两者比较:


产生前10万个素数:

法一:150s

法二:25s

读书人网 >编程

热点推荐