一般:
#include<stdio.h>
int main()
{
?? ?int a[100], i, j;
?? ?for(i = 2; i < 100; i++)
?? ??? ?a[i] = 1;//令2-99都為1
?? ?for(i = 2; i < 100/2; i++)//2 - 到 范圍的一半的所有倍數
?? ?{
?? ??? ?if(a[i] == 1)//還未被篩 素數不會被篩 合數會被篩
?? ??? ?{
?? ??? ??? ?for(j = 2*i; j < 100; j=j+i)//剛開始兩倍后三倍四倍
?? ??? ??? ?{
?? ??? ??? ??? ?a[j] = 0;//把下標為合數的數組都為0
?? ??? ??? ?}?? ??? ??? ?
?? ??? ?}
?? ?}
?? ??? ?for(i = 2; i < 100; i++)
?? ??? ?{
?? ??? ??? ?if(a[i]!=0)//數組不為0 說明不是合數 則把這些素數打出來
?? ??? ??? ?printf("%d ",i);
?? ??? ?}
?? ?return 0;
}