1181 質數中的質數(質數篩法)
sgu基準時間限制:1 秒 空間限制:131072 kb 分值: 0
難度:基礎題
如果乙個質數,在質數列表中的編號也是質數,那麼就稱之為質數中的質數。例如:3 5分別是排第2和第3的質數,所以他們是質數中的質數。現在給出乙個數n,求》=n的最小的質數中的質數是多少(可以考慮用質數篩法來做)。
input
輸入乙個數n(n <= 10^6)output
輸出》=n的最小的質數中的質數。input示例
20output示例
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...