* 一个数只能被1和本身整除,称为素数。偶数不是素数。 #include <stdio.h> #include <math.h> int main(){ int m, i, k; scanf("%d", &m); k = sqrt(m); for(i=2; i<=k; i++){ if(m%i == 0) break; } if(i >= k+1) printf("m is a prime number."); else printf("m isn't a prime number."); return 0; } bitset<PRIME_NUM> primes; primes.set(); for( int i = 3; i < PRIME_NUM; i++ ) { if( i % 2 == 0 ) primes.reset(i); else if( primes.test(i) ) { for( int j = i*i; j < PRIME_NUM; j += 2*i ) primes.reset(j); } }