Posted on 2012-08-13 22:17
hoshelly 阅读(566)
评论(0) 编辑 收藏 引用 所属分类:
DS && Algorithm
// From < C Programming FAQs >
找出所有小于10000的素数,算法原理请自行google 埃拉托色尼筛法
程序代码:
#define N 10000
#include<stdio.h>
int main()
{
int i,j,a[N];
for(i=2;i<N;i++) a[i]=1;
//将数组中的值全部设为1
for(i=2;i<N;i++)
if(a[i])
for(j=i;i*j<N;j++) a[i*j]=0;
//将索引为2,3,5,的倍数的数组元素设为0,因为这些数不是素数
for(i=2;i<N;i++)
if(a[i]) printf("4%d\n",i);
//遍历打印出找到的素数
printf("\n");
return 0;
}