CSU 1030 素數槽(素數打表 二分)

2021-06-26 03:14:04 字數 1097 閱讀 4890

素數槽

time limit:1000msmemory limit:131072kb64bit io format:%lld & %llu

submit

status

practice

csu 1030

description

處於相鄰的兩個素數p和p + n之間的n - 1個連續的合數所組成的序列我們將其稱為長度為n的素數槽。例如,‹24, 25, 26, 27, 28›是處於素數23和素數29之間的乙個長度為6的素數槽。

你的任務就是寫乙個程式來計算包含整數k的素數槽的長度。如果k本身就是素數,那麼認為包含k的素數槽的長度為0。

input

第一行是乙個數字n,表示需要測試的資料的個數。後面有n行,每行是乙個正整數k,k大於1並且小於或等於的第十萬個素數(也就是1299709)。

output

對於輸入部分輸入的每乙個k,都對應輸出乙個非負整數,表示包含k的素數槽的長度,每個非負整數佔一行。

sample input

5
10
11
27
2
492170

sample output

4
0
6
0
114
**:
#include #include #include using namespace std;

#define maxn 1299709

int prime[maxn];

bool visit[maxn];

int is_prime()

}return num;

}int bsearch(int s,int t,int x)

{ int p=0,flag=1;

if(s<=t)

{int mid=(s+t)/2;

if(x

美素數 素數打表

description 小明對數的研究比較熱愛,一談到數,腦子裡就湧現出好多數的問題,今天,小明想考考你對素數的認識。問題是這樣的 乙個十進位制數,如果是素數,而且它的各位數字和也是素數,則稱之為 美素數 如29,本身是素數,而且2 9 11也是素數,所以它是美素數。給定乙個區間,你能計算出這個區間...

python打反素數 反素數求解 反素數打表

問題描述 對於任何正整數x,起約數的個數記做g x 例如g 1 1,g 6 4.如果某個正整數x滿足 對於任意i 0 現在給乙個n,求出不超過n的最大的反素數.比如 輸入1000 輸出 840 思維過程 求 1.n 中約數在大的反素數 求約數最多的數 如果求約數的個數 756 2 2 3 3 7 1...

高效素數打表

大家所知的素數打表時間複雜度幾乎都是n2。就是這種 void init prime j 0 for i 2 i 1000002 i if prime i prime j i 在網上搜到了另一種方法,效率提高了不少。巧妙之處還在研究中,等理解差不多就仔細分析一下。下面是 大家可以發表一下自己的看法,交...