1、穷举法
算法流程:
1.从2开始到N,遍历每一个数,判断它是否为素数
for( int j=2; j<=TESTNUM; j++ )
{
if( IsPrime(j) )
{
count++;
}
}
2.判断素数的方法:IsPrime()
bool IsPrime( int num )
{
int m = sqrt( num );
for( int i=2; i<=m; i++ )
{
if( num % i == 0 )
{
return false;
}
}
return true;
}
算法代码:
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <time.h>
using namespace std;
const int TESTNUM=1000000000;
bool IsPrime( int num )
{
int m = sqrt( num );
for( int i=2; i<=m; i++ )
{
if( num % i == 0 )
{
return false;
}
}
return true;
}
int main( void )
{