筛选法求素数
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#define MAX 10000000
bool b[MAX];
void Prime()
{
int num = 0, t = sqrt(1.0*MAX);
memset(b, true, sizeof(b));
for(int i=2; i < t; i++)
{
if(b[i])
{
for(int j = 2; j * i < MAX; j++) b[j*i]=false;
}
}
for(int i=2; i < MAX; i++)
if(b[i]){num++;printf("%d ", i);}
printf("\nTOT=%d\n", num);
}
int main()
{
Prime();
// system("pause");
return 0;
}
世上无难事,只要肯登攀。

浙公网安备 33010602011771号