《ACM程式設計》 Problem R 半素數問題

2021-07-29 02:01:45 字數 1006 閱讀 8262

題意:

description

主數字定義

如果大於1的整數只有正的除數(因子)為1,則稱為質數。例如,2,11,67,89是素數,但8,20,27不是。

半優先數定義

如果乙個大於1的整數可以被分解為兩個質數,則稱之為半質數。例如,6是半質數,但12不是。

您的任務只是確定給定的數字是否是半質數。

input

在輸入中有幾個測試用例。每種情況包含單個整數n(2≤n≤1,000,000)

output

每行乙個整數。如果數字是半質數,則輸出「是」,否則輸出「否」。

sample input34

612sample output

no yes 

yes 

no 

解題思路:剛開始很少zz的用最普通的找素數方法做,然後寫完以後執行發現半天黑屏出不來結果,然後才突然想起來資料太大執行時間太長即使**沒問題也要超時的,於是上網搜尋篩素數方法,研究了一下確實很厲害那麼大的資料也能很快執行出來,然後一定範圍內的素數全部求出來以後再相互乘積存到set容器裡面,這樣直接檢索有沒有相應的數就可以了否則再用普通的查詢方法還是要超時的。

**如下:

#include

using namespace std;

const int n=1000000;

bool a[1000005];

long int b[1000005],h;

sete;

int main()

{   int i,j,k,l=0,r,w;

a[0]=a[1]=0;a[2]=1;

for(i=3;i::iterator it;

while(cin>>w)

{    it=e.find(w);

if(it!=e.end())

cout<<"yes"《回顧:大資料問題要先考慮什麼方法適合否則做不出來的,資料執行時間太長了。

程式設計素人眼裡的程式設計珠璣

程式設計珠璣 吐槽向 作為乙個cs專業的素人,在每乙個立志學好計算機的深夜搜尋如何做一名優秀的程式設計師時,都會被推薦這本書,終於我下單了,並且在乙個陽光並不充足的週末,我看完了這本書。第一章 我個人認為第一章是我在這本書裡最大的收穫。第一章大概講述了分析問題的重要性。在實際應用情境中,當我們遇見即...

ACM實驗五 ACM程式設計基礎(3)

2.某售貨員要到若干城市去推銷商品,一直各城市之間的路程,他要選定一條從駐地出發,經過每個城市一遍,最後回到住地的路線,使總的路程最短。3.anagrams by stack問題,見anagrams by stack。1.為了對信件保密,需要對信件進行加密,加密方法是每個字母加5,如a寫成f,b寫成...

ACM實驗七 ACM程式設計基礎(5)

實驗專案 acm程式設計基礎 5 實驗目的 掌握c 程式設計基礎。實驗要求 使用vc 6.0實現實驗要求。實驗內容 1.編寫乙個函式實現如下功能 輸入 7 輸出 1 8 14 19 23 26 28 2 9 15 20 24 27 3 10 16 21 25 4 11 17 22 5 12 18 6...