icodelab 連續合數個數

2022-08-26 08:18:14 字數 782 閱讀 2350

描述

小明發現有時候在兩個質數之間的數全部都是合數,例如:7和11之間存在三個連續合數8,9,10。19到23之間存在3個連續合數20,21,22。現在給定乙個數,請判斷包含該數在內的連續合數的個數。

輸入

多組資料(不超過50000組),每行輸入1個正整數a,最後一行輸入0表示輸入結束。

輸出

對於每行的輸入資料,給出包含該數在內的連續合數的個數。

輸入樣例 1

6

1007

0

輸出樣例 1

1

30

提示

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 ...