
程序代码:
#include <iostream>
using namespace std;
bool is_prime( unsigned n )
{
if( n == 2 ) return true;
if( n<2 || n%2==0 ) return false;
for( unsigned i=3; i*i<=n; i+=2 )
if( n%i == 0 )
return false;
return true;
}
int main( void )
{
for( unsigned i=0; i!=200; ++i )
if( is_prime(i) )
cout << i << ' ';
}

程序代码:
#include <iostream>
#include <vector>
using namespace std;
std::vector<bool> sieve_of_Eratosthenes( size_t n )
{
std::vector<bool> r( n, true );
if( n>0 ) r[0] = false;
if( n>1 ) r[1] = false;
for( size_t i=2; i<n; ++i )
if( r[i] )
for( size_t j=i*i; j<n; j+=i )
r[j] = false;
return r;
}
int main( void )
{
std::vector<bool> r = sieve_of_Eratosthenes( 200 );
for( size_t i=0; i!=200; ++i )
if( r[i] )
cout << i << ' ';
}