51nod 1181 質數中的質數(質數篩法)

2021-07-31 05:18:01 字數 1027 閱讀 4941

如果乙個質數,在質數列表中的編號也是質數,那麼就稱之為質數中的質數。例如:3 5分別是排第2和第3的質數,所以他們是質數中的質數。現在給出乙個數n,求》=n的最小的質數中的質數是多少(可以考慮用質數篩法來做)。

input

輸入乙個數n(n <= 10^6)

output

輸出》=n的最小的質數中的質數。

input示例

20 output示例

31思路:篩法把10^6內的素數篩出來,然後再直接列舉把質數中的質數找出來,最後二分查詢》=n的答案

**:

#include

#include

#include

#include

#include

using

namespace

std;

char ss[1000005];

char inss[1000005];

void sf()}}

// for(int i=0;i<1000005;i++)

}int main()

for(int i=0;i//prime in prime

if(ss[i+1]=='1')

v1.push_back(v[i]);

}// for(int i=0;i

// coutint n;

scanf("%d",&n);

if(n==2||n==3)

//er fen

int r=v1.size()-1;

// for(int i=0;i

// if(v1[i+1]>=n&&n>v1[i])

//// }

int l=0;

int mid;

while(l<=r)

if(v1[mid]>n&&v1[mid-1]>n&&(mid-1)>=0)

if(v1[mid]continue;

}} return

0;}

51nod1181 質數中的質數

1181 質數中的質數 質數篩法 sgu基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 如果乙個質數,在質數列表中的編號也是質數,那麼就稱之為質數中的質數。例如 3 5分別是排第2和第3的質數,所以他們是質數中的質數。現在給出乙個數n,求 n的最小的質數中的質數是多少 可...

51nod 1181 質數中的質數(質數篩法)

如果乙個質數,在質數列表中的編號也是質數,那麼就稱之為質數中的質數。例如 3 5分別是排第2和第3的質數,所以他們是質數中的質數。現在給出乙個數n,求 n的最小的質數中的質數是多少 可以考慮用質數篩法來做 input 輸入乙個數n n 10 6 output 輸出 n的最小的質數中的質數。input...

51Nod 1181 質數中的質數(質數篩法)

我的想法蠻簡單。首先素數篩,剛學會,哈哈,然後,把素數都存起來。先判斷序列號是不是素數,在要求序列號對應的素數比n大,然後輸出。腦子有點蒙,最近確實有點累,我要睡啦。任務算是完成了。明天學一下乘法逆元,這個東西關係到好幾道題。必須要會呀。附上 include include include usin...