文檔庫

最新最全的文檔下載
當前位置:文檔庫 > 篩選法求素數

篩選法求素數

數組是構造類型數據,指一組同類型數據組成的序列,用一個統一的數組名標識這一組數據。用下標來只是數組中元素的序號。C語言中數組下標從0開始,定義方位為:類型標示符數組名[元素個數]。

求素數的方法很多,本來采用經典算法——eratasthenes篩選法,思路為:

1、取最小的數2,并聲明它是素數,同時篩去它及它的倍數。

2、取未篩去數中最小的數,并聲明它是素數,同時篩去它及它的倍數。

3、重復步驟2至篩中無數,得到所有的素數。

#include "stdio.h"

/* 范圍*/

#define M 200

/* 奇數的個數*/

#define N ((M+1)/2)

void main(void)

{

int i,j,a[N];

a[0] = 2;

for(i=1;i<(N-1);i++) /* 初始數組實現第一步篩選*/

a[i] = 2*i+1;

for(i=1;i<(N-1);i++) /* 第二部篩選*/

if(a[i]!=0)

for(j=i+1;j

if(a[j]%a[i]==0) /* 倍數時置零曬去*/

a[j]=0;

printf("\nThe primer are [2-%d]:\n",M);

for(i=0,j=0;i

{

if(a[i]!=0)

{

printf("%5d",a[i]);

if((++j)%10==0) /* 十個數換行*/

printf("\n");

}

}

getch();

}

篩選法求素數

(共2頁)
怎么赚钱