筛500以内的素数(其实可以筛很大),一个模板,仅供参考。
#include <stdio.h>
int prime[501];//存储素数
int visit[501];//用来筛掉合数
int top;//栈顶
int main ()
{
for(int i=2;i<=500;i++)
{
if(visit[i]==0)//visit标记为0的i即判断为素数
{
top++;
prime[top]=i;//存素数
}
for(int j=1;j<=top&&i*prime[j]<=500;j++)
{
visit[i*prime[j]]=1;//筛合数 ,visit标记为1的i即判断为合数
if(i%prime[j]==0)break;
}
}
for(int i=1;i<=top;i++)
{
printf("%d,",prime[i]);
}
return 0;
}