傳送門:1106 質數檢測
根據質數的定義,在判斷乙個數n是否是質數時,我們只要用1至n-1去除n,看看能否整除即可。但我們有更好的辦法。先找乙個數m,使m的平方大於n,再用<=m的質數去除n(n即為被除數),如果都不能整除,則n必然是質數
。如我們要判斷1993是不是質數,50*50>1993,那麼我們只要用1993除以<50的質數看是否能整除,若不能即為質數.
#include
#include
#include
#include
using
namespace
std;
const
long
long maxn = 1e5+5;
bool visit[maxn+5];
long
long prime[200055];
int num ; //區間內素數的個數
void init_prim()
for (int j = 1; ((j <= num) && (i * prime[j] <= maxn)); ++j)
}}int main()
}if(!flag)
printf("yes\n");
else
printf("no\n");
}return
0;}
51Nod 1106 質數檢測
1106 質數檢測 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 收藏 關注 給出n個正整數,檢測每個數是否為質數。如果是,輸出 yes 否則輸出 no input 第1行 乙個數n,表示正整數的數量。1 n 1000 第2 n 1行 每行1個數 2 s i 10 9 ...
51nod 1106 質數檢測
給出n個正整數,檢測每個數是否為質數。如果是,輸出 yes 否則輸出 no input第1行 乙個數n,表示正整數的數量。1 n 1000 第2 n 1行 每行1個數 2 sii 10 9 output輸出共n行,每行為 yes 或 no。sample input 523 456sample out...
51Nod 1106 質數檢測
題目 給出n個正整數,檢測每個數是否為質數。如果是,輸出 yes 否則輸出 no 輸入 第1行 乙個數n,表示正整數的數量。1 n 1000 第2 n 1行 每行1個數 2 s i 10 9 輸出 輸出共n行,每行為 yes 或 no。樣例輸入 523 456樣例輸出 yes yesno yesno...