質數的後代 素數篩選法

2021-09-25 18:51:18 字數 741 閱讀 9651

題目描述

在上一季裡,曾提到過質數的孤獨,其實從另乙個角度看,無情隔膜它們的合數全是質數的後代,因為合數可以由質數相乘結合而得。 

如果乙個合數由兩個質數相乘而得,那麼我們就叫它是質數們的直接後代。現在,給你一系列自然數,判斷它們是否是質數的直接後代。 

資料規模和約定 

1< =t< =20 

2< =要判斷的自然數< =10^5 

輸入第一行乙個正整數t,表示需要判斷的自然數數量 

接下來t行,每行乙個要判斷的自然數 

輸出共t行,依次對於輸入中給出的自然數,判斷是否為質數的直接後代,是則輸出yes,否則輸出no 

樣例輸入

4 

3 4

6 12

樣例輸出

no

yesyes

no

#include#include#includeusing namespace std;

const int n = 50000;

int a[n+5];

vectorprime;

int main()

} }int t,num;

cin>>t;

while(t --)

}if(flag) break;

} if(!flag) cout<<"no"<} return 0;

}

質數篩選 素數篩選法

int prime 100010 void prime for int i 1 i i 1000000 i define size 1000000 int main 元素值為0代表是素數 int prime size int pos 0 int flag for int i 2 i size i p...

篩選法求n以內素數(質數)

設定乙個標誌陣列isprime,isprime i 的值是1就表示i是素數。開始陣列元素值全部為1劃掉k的倍數,就是把isprime 2 k isprime 3 k 置成0最後檢查isprime陣列,輸出isprime i 為1的那些i include include using namespace...

20200314之質數的後代 (素數)

題目描述 在上一季裡,曾提到過質數的孤獨,其實從另乙個角度看,無情隔膜它們的合數全是質數的後代,因為合數可以由質數相乘結合而得。如果乙個合數由兩個質數相乘而得,那麼我們就叫它是質數們的直接後代。現在,給你一系列自然數,判斷它們是否是質數的直接後代。資料規模和約定 1 t 20 2 要判斷的自然數 1...