三种判断素数的方法
#include<iostream>
#include<time.h>
#include<math.h>
using namespace std;
bool prime1(long n)
{
long i;
for(int i=2;i<n;i++){
if(n%i==0)
return false;
}
return true;
}
void PrimeTime1(long n)
{
clock_t t;
long sum=0,i;
t=clock();
for(int i=2;i<=n;i++){
if(prime1(i)) sum++;
}
t=clock()-t;
printf("方法1 :\n");
printf(" 结果:2~%d的素数个数 :%d\n",n,sum);
printf(" 用时:%lf秒\n",((float)t/CLOCKS_PER_SEC));
}
bool prime2(long n)
{
long i;
for(int i=2;i<=(int)sqrt(double(n));i++){
if(n%i==0)
return false;
}
return true;
}
void PrimeTime2(long n)
{
clock_t t;
long sum=0,i;
t=clock();
for(int i=2;i<=n;i++){
if(prime2(i)) sum++;
}
t=clock()-t;
printf("方法2 :\n");
printf(" 结果: