51nod1181 質數中的質數

2021-08-19 10:24:11 字數 758 閱讀 7802

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

sgu基準時間限制:1 秒 空間限制:131072 kb 分值: 0 

難度:基礎題

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

input

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

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

20
output示例

31

李陶冶(題目提供者)

題解:用質數篩選法可以   

這道題就是簡單的打表法  先求出區間裡的所有質數,

用prime陣列標記是否是質數(也叫素數)

,記錄位置  這裡用到了 lower_bound比較快速的 找到位置 就是找到位址 然後取位址中的 數值即可

#includeusing namespace std;  

const int maxn=1e7+1000;

int prime[maxn],num[maxn],k;

void init(int n)

} j=0,k=0;

for(i=2;i<=n;i++)

} }

int main()

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

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

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

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

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

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