Posted on 2012-08-13 22:17
hoshelly 閱讀(576)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
DS && Algorithm
// From < C Programming FAQs >
找出所有小于10000的素?cái)?shù),算法原理請(qǐng)自行g(shù)oogle 埃拉托色尼篩法
程序代碼:
#define N 10000
#include<stdio.h>
int main()
{
int i,j,a[N];
for(i=2;i<N;i++) a[i]=1;
//將數(shù)組中的值全部設(shè)為1
for(i=2;i<N;i++)
if(a[i])
for(j=i;i*j<N;j++) a[i*j]=0;
//將索引為2,3,5,
的倍數(shù)的數(shù)組元素設(shè)為0,因?yàn)檫@些數(shù)不是素?cái)?shù)
for(i=2;i<N;i++)
if(a[i]) printf("4%d\n",i);
//遍歷打印出找到的素?cái)?shù)
printf("\n");
return 0;
}