北航複試機試之素數

2021-10-02 12:15:37 字數 917 閱讀 7543

輸入乙個整數n(2<=n<=10000),要求輸出所有從1到這個整數之間(不包括1和這個整數)個位為1的素數,如果沒有則輸出-1。

輸入有多組資料。

每組一行,輸入n。

輸出所有從1到這個整數之間(不包括1和這個整數)個位為1的素數(素數之間用空格隔開,最後乙個素數後面沒有空格),如果沒有則輸出-1。
示例1

100
11 31 41 61 71
素數篩選法:

思路是找到乙個素數,就將它的所有倍數均標記成非素數,這樣當遍歷到乙個數時,若它未被任何小於它的素數標記為非素數,則可確定其為素數

而在本題中的從1-n之間的素數在輸出時的迴圈條件要十分注意:

#include#include#include#includeusing namespace std;

vector prime;//儲存質數

const int maxn = 10001;

bool isprime[maxn];

void searchs() //素數篩選法找到2~10000之間的所有素數

isprime[0]=false;

isprime[1]=false;

for(int i=2;i

prime.push_back(i); //是素數則加入陣列裡

for(int j=i*i;j

isprime[j]=false;

}}int main()

for(i=0;i

printf("%d ",a[i]);

printf("%d\n",a[i]);}}

北郵複試機試之打牌

牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。規則 出牌牌型有5種 1 一張 如4 則5.9可壓過 2 兩張 如44 則55,66,77,99可壓過 3 三張 如444 規則如 2 4 四張 如4444 規則如 2 5 五張 牌型只有12345 23456...

王道複試機試(2)

學號姓名排名 用sort函式 include include include using namespace std struct student student arr 100 bool compare student x,student y else return x.score int mai...

王道複試機試(7)

1.bfs寬度優先搜尋 include include include using namespace std void bfs int n myqueue.push current 10 myqueue.push current 10 1 int main return0 3的過程應該就是 右為隊...