模板小程式 求M N範圍內的質數個數

2022-01-10 08:55:16 字數 770 閱讀 8686

1/*2

本程式說明:34

[程式設計題] 求素數

5時間限制:2秒

6空間限制:32768k

7輸入m、n,1 < m < n < 1000000,求區間[m,n]內的所有素數的個數。素數定義:除了1以外,只能被1和自己整除的自然數稱為素數

8輸入描述:

9兩個整數m,n

1011

12輸出描述:

13區間內素數的個數

1415

輸入例子1:

162 10

1718

輸出例子1:194

2021

*/22

//篩法求n以內的素數(普通法+優化),n>=2

23 #include 24 #include 25 #include 26

using

namespace

std;

27///

尋找n以內的質數的個數

28 size_t find_prime(int

n)29

40 vectorprime;

41 prime.push_back(2

);42

for(int i=0; i)

4348}49

50return prime.size();//

這裡儲存了小於等於n的素數51}

5253

intmain()

5459

return0;

60 }

輸出指定範圍內的所有質數

以上程式輸出所有不大於999的質數,產生格式化輸出。程式採用篩選的思想對指定範圍內的所有正整數進行排除,最後得以 倖存 的全部都為質數。該演算法思想詳見維基百科sieve of eratosthenes相關條目。需要注意的是以上c 實現中的外層迴圈只用進行到sqrt upper 證明如下 假設存在乙...

C ,利用陣列求乙個範圍內的質數

質數 prime number 又稱素數,有無限個。除了1和它本身以外不再有其他的因數 否則稱為合數。根據算術基本定理,每乙個比1大的整數,要麼本身是乙個質數,要麼可以寫成一系列質數的乘積 而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。最小的質數是2。int n 100 bool ...

求規定範圍內的完美數

輸入 檔名稱 sum123.cpp 作 者 林海雲 完成日期 2014年12月24日 版 本 號 v2.0 問題描述 求規定範圍內滿足條件的完美數。6的所有真約數是1 2 3,而且6 1 2 3。像這樣,乙個數所有真約數的和正好等於這個數,通常把這個數叫做完美數 程式輸入 m x n且輸入0 0結束...