标签:
①如果 i 都是是素数的话,那简单,一个大的素数 i 乘以不大于 i 的素数,这样筛除的数跟之前的是不会重复的。筛出的数都是 N=p1*p2的形式, p1,p2之间不相等
void eular() { cnt = 0; int m = MAXN; memset(isnotprime,0,sizeof(isnotprime)); for(int i = 2; i <= m; i ++){ if(!isnotprime[i]){ prime[cnt++] = i; } for(int j = 0; j < cnt && 1LL * i * prime[j] < m; j++){ isnotprime[prime[j]*i] = 1; if(i % prime[j] == 0) break; } } }
标签:
原文地址:http://www.cnblogs.com/sweat123/p/5397248.html