騰訊2017秋招筆試程式設計題(三) 素數對

2021-08-09 11:41:17 字數 1184 閱讀 4363

時間限制:1秒

空間限制:32768

k

給定乙個正整數,編寫程式計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸入值小於1000。

如,輸入為10, 程式應該輸出結果為2。(共有兩對質數的和為10,分別為(5,5),(3,7))

輸入包括乙個整數n,(3 ≤ n < 1000)
輸出對數
10
2
自己實現的**如下:

#include 

#include

#include

#include

using

namespace

std;

bool is_prime_num(int num)

return

true;

}int get_last_result(int num,std::vector

& v)

else

}if( !found )

else

}return count;

}int main()

}cout

<< get_last_result(num,v) << endl;

return

0;}

#include 

#include

using

namespace

std;

int main()}}

int x;

cin>>x;

int res=0;

for(int i=2;i<=x/2;++i)

cout

《可能直接看**有點晦澀,我把解析也放在下面:

先看到2是素數(v[2]==1),就把1-1000範圍所有2的倍數置為0,此時v[2]、v[4]、v[6]、v[8]....都為0了;

下一次看到3是素數,則把v中3的倍數置為0,v[3]、v[6]、v[9]...都置為0;

下乙個素數為5,因為在在第一步時,v[4]被置為0了,接下來把5的倍數都置為0

......

最後,v中素數都為1,非素數都為0

騰訊2017秋招筆試程式設計題

1 程式設計題 編碼 假定一種編碼的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把該編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy 其中a的index為0,aa的index...

騰訊2017秋招筆試程式設計題

五筆的編碼範圍是a y的25個字母,從1位到4位的編碼,如果我們把五筆的編碼按字典序排序,形成乙個陣列如下 a,aa,aaa,aaaa,aaab,aaac,b,ba,baa,baaa,baab,baac yyyw,yyyx,yyyy,其中a的index為0,aa的index為1,aaa的index為...

騰訊2017秋招筆試程式設計題

遊戲裡面有很多各式各樣的任務,其中有一種任務玩家只能做一次,這類任務一共有1024個,任務id範圍 1,1024 請用32個unsigned int型別來記錄著1024個任務是否已經完成。初始狀態都是未完成。輸入兩個引數,都是任務id,需要設定第乙個id的任務為已經完成 並檢查第二個id的任務是否已...