质数(素数)的求解(筛选法)
法一:
求质数的方法最简单的就是这样:
?
/* 筛选法 */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