走進世博園某資訊通訊館,參觀者將獲得前所未有的尖端互動體驗,一場充滿創想和喜悅的資訊通訊互動體驗秀將以全新形式呈現,從觀眾踏入展館的第一步起,就將與手持終端密不可分,人類未來夢想的驚喜從參觀者的掌上展開。在等候區的夢想花園中,參觀者便開始了他們奇妙的體驗之旅,等待中的遊客可利用手機等終端參與互動小遊戲,與夢想劇場內的虛擬人物kr. kong 進行猜數比賽。當螢幕出現乙個整數x時,若你能比kr. kong更快的發出最接近它的素數答案,你將會獲得乙個意想不到的禮物。
例如:當螢幕出現22時,你的回答應是23;當螢幕出現8時,你的回答應是7;若x本身是素數,則回答x;若最接近x的素數有兩個時,則回答大於它的素數。
第一行,乙個正整數 n,表示要競猜的整數個數;接下來的 n 行,每行乙個正整數 x。
輸出有 n 行,每行乙個整數,表示與對應 x 的最接近它的素數。樣例輸入
4225樣例輸出188
素數篩處理出1e7內的所有素數,對篩出的素數進行處理,發現1e7內相鄰2個素數之間的間隔不會超過200。若n是素數則輸出本身,若n不是素數則向上下兩個方向尋找,找到素數就直接輸出。
#include
#pragma gcc optimize(2)
#define ll long long
using
namespace std;
int _,n,f[
10000010];
intmain()
elseif(
!f[n-i]
&&n-i>=2)
}else
for(
int i=
1;i<=
1000
;i+=2)
elseif(
!f[n-i]
&&n-i>=2)
}}return0;
}
素數篩法(素數篩 線性篩)
求素數的方法在現階段可以總結為三種 這種方法最為簡單但效率太低,經過優化時間複雜度最低是o n sqrt n 輸入乙個n,輸出n以內所有素數 include intprime int n if flag 0 優化 printf d i intmain 素數篩法原理 2是素數,那麼2的所有倍數都是合數...
素數判定,素數篩
這些零碎的知識點每個都學過n次了,但隔一段時間就會忘,記錄下來 素數定義 只能被自身和1整除的大於1的正整數 通過這個定義,我們就可以得出判斷素數的 這裡用到了cmath中的sqrt函式,其原型為double sqrt double 所以在取上界的時候,為了避免double帶來的精度丟失,寧可多列舉...
素數與素數篩
素數篩法 線性篩法 啊,耳熟能詳。素數又稱質數,乙個大於1 11的自然數,除了1 11和它本身外,不能被其他自然數整除,換句話說就是該數除了1 11和它本身以外不再有其他的因數 否則稱為合數。啊!1 11不是素數啊 啊,也耳熟能詳了,暴力列舉一下除1 11和本身的自然數是否會被整除。bool is ...