描述
小明發現有時候在兩個質數之間的數全部都是合數,例如:7和11之間存在三個連續合數8,9,10。19到23之間存在3個連續合數20,21,22。現在給定乙個數,請判斷包含該數在內的連續合數的個數。
輸入
多組資料(不超過50000組),每行輸入1個正整數a,最後一行輸入0表示輸入結束。
輸出
對於每行的輸入資料,給出包含該數在內的連續合數的個數。
輸入樣例 1
61007
0
輸出樣例 1
130
提示
a< =1000,000。
思路:先篩除合數
每讀入乙個數不是質數的時候一直增加,一直到j是質數
跳過一些已經找到的合數
詳見注釋
**:
#include #include #include using namespace std;#define num 1299709
bool u[num+1];
int ans[num+1];
void prepare()
} for(int i=2; i<=num; i++)else
}} int main()
}
自主命題 奇組合數個數統計
對於給定的數字 n,l,r 求在 c n l,c n c n dots,c n r 中共有多少個奇數。行號 n 從0開始計數。特別地,我們規定 c 0 0 1 資料保證 0 leq n leq 10 拿到乙個1e18的題,第一反應肯定是先打個表看看嘛。我們知道有楊輝三角 1 1 1 1 2 1 1 ...
約數個數定理
編輯 對於乙個大於1正整數n可以 分解質因數 則n的 正約數的個數就是 其中a 1 a2 a 3 ak是p 1 p2 p 3,p k的指數。編輯首先同上,n可以 分解質因數 n p1 a1 p2 a2 p3 a3 pk ak,由約數定義可知p1 a1的約數有 p1 0,p1 1,p1 2.p1 a1...
求素數個數
我最近在leetcode上擼了乙個小演算法,雖然已經工作了五年,當看到每次 提交後排名的提公升,內心依然很有成就感。題目比較簡單,求小於n的素數個數,素數也叫質數,具有以下特點 根據上面的特點,我們還可以推斷出 依據這一點,我們可以寫出下面的實現 class solution intcount 1 ...