步驟簡介
輸出陣列中餘下的a[i]!= 0的數
我的**
#include
#include
#include
intmain()
//做篩法的準備:求出對應的開方數,新得遍歷倍數
edge =
(int
)sqrt
(n);
for(i =
2;i <= edge;i ++)}
}//輸出所有的不為零的部分
for(i =
0;i < n;i ++)}
return0;
}
教程**#include
#include
#include
#define n 100
void
printprime
(int a,
int n)
;void
siftprime
(int a,
int n)
;int
main()
void
siftprime
(int a,
int n)
edge =
sqrt
(n);
for(i =
2;i <= edge;i ++)}
}}void
printprime
(int a,
int n)
}printf
("\n");
}
分析與總結 篩法求n以內的素數
篩法求素數 把2到n中所有的數都列出來,然後從2開始,先劃掉n內所有2 的倍數,然後每次從下乙個剩下的數 必然是素數 開始,劃掉其n內的所有倍數。最後剩下的數,就都是素數。空間換時間,加快了計算速度。include include include include define maxn 100000...
篩選法求100以內的素數
step1 初始化乙個a陣列,從a 2 到a 100 以內都為自己。step2 對每個數,如果可以被2,3,5,7,11,13.素數 整除則該數設為0,因為素數的倍數是可以被除1和本身以外的其它數整除,是合數 step3 列印出所有非0的數,即為素數。改自愛課程 c語言程式設計 蘇小紅老師 incl...
篩法求素數 求100之內的素數
素數 定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。篩法求素數,需要對素數和非素數做出不同的標記,或者只標記非素數 素數 現用0標記非素數,素數不標記。引用陣列,使0 100與陣列元素一 一相對應 0即a 0 1即a 1 2即a 2 注意特例,1 即a 1 不是素數,首先標記為0 剩下...