求100以內的素數!

 

    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;//主函數結束
}

    【運行結果】

運行結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章