1正常求法
#include <stdio.h>
int is_prime(int a);
int main()
{
int i,j=0;
for(i=2;i<1000;i++)
{
if (is_prime(i)==1)
{
printf("%4d ",i);
j++;
}
if (j==5)
{
printf("\n");
j=0;
}
}
return 0;
}
int is_prime(int a)
{
int i;
if (a<=1)
{
return 0;
}
for(i=2;i*i<a;i++)
{
if(a%i==0)
{
return 0;
}
}
return 1;
}
2.埃拉托色尼筛选法(eratosthenes算法)
//埃拉托色尼筛选法
#include <stdio.h>
#define MAX 100000
int main()
{
int i,j,k=0,a;
int arr[MAX+1];
for (i = 0; i < MAX+1; i++)
{
arr[i]=1;
}
for (i = 2; i < MAX+1; i++)
{
if (arr[i]==1)
{
for (j = i+1; j < MAX+1; j ++)
{
if (j%i==0)
{
arr[j]=0;
}
}
}
}
for (i = 2; i < MAX+1; i++)
{
if (arr[i]==1)
{
printf("%4d ",i);
k++;
if (k%10==0)
{
printf("\n");
}
}
}
printf("\n");
return 0;
}