素數(shù)是指只能被1和自身整除的正整數(shù)。在計算機科學(xué)中,素數(shù)是一種非常重要的數(shù)學(xué)概念,因為它們在加密算法和哈希函數(shù)等領(lǐng)域中扮演著關(guān)鍵的角色。本文將介紹一種高效的算法,用C語言輸出100以內(nèi)的素數(shù)。
^2),效率較低。因此,我們需要一種更加高效的算法。
)。算法的基本思路是從小到大枚舉每個數(shù),如果它是素數(shù),則將它的倍數(shù)標(biāo)記為合數(shù)。這個過程中,每個合數(shù)都只會被它的小質(zhì)因數(shù)篩掉,因此每個數(shù)只會被篩一次。
下面是用C語言實現(xiàn)歐拉篩法輸出100以內(nèi)的素數(shù)的代碼
clude
e MX 100
tee[i]表示i是否為素數(shù)
tain()
{t i = 2; i<= MX; i++)
{e[i]) // 如果i是素數(shù)
{tf("%d ", i); // 輸出it j = i i; j<= MX; j += i) // 將i的倍數(shù)標(biāo)記為合數(shù)
{e[j] = 1;
}
}
}
運行結(jié)果如下
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
ee[i]表示i是否為素數(shù),初始值都為0。
e數(shù)組元素設(shè)為1。
返回0,程序結(jié)束。
)。通過用C語言實現(xiàn)歐拉篩法輸出100以內(nèi)的素數(shù)的代碼,我們可以更好地理解這個算法的原理和實現(xiàn)方式。