1至100這些自然數可以分爲三類:
(1) 單位數:僅有一個數1.
(2) 素數:這個數大於1,且只有它本身和1這樣兩個正因數。
(3) 合數:除了1和他自身以外,還有其他的正因數。
【代碼如下】
/******************************************************** #include<iostream> using namespace std;//編譯命令 #include<math.h> const int MAX=100;//定義常量MAX int main()//主函數 { int prime[MAX+100]={0};//定義變量並初始化 int i,j,k=sqrt(MAX); for(i=2; i<=k; i++)//枚舉篩數 { if(prime[i]==0)//如果這個數沒被篩,就看看 { j=i*2;//將原數擴大二倍初始化給j do { prime[j]=1;//將j篩掉 j+=i; //再擴大一倍 } while(j<=MAX);//直到最大 } } for(i=2; i<=MAX; i++) { if(prime[i]==0)//循環輸出 cout<<i<<" "; } cout<<endl; return 0;//主函數結束 } |
【運行結果】