#21388: 非建表 用判斷的 0.1S


36563120 (雨)

學校 : 國立彰化師範大學
編號 : 121990
來源 : [120.107.188.16]
最後登入時間 :
2020-06-26 03:42:56
a121. 質數又來囉 | From: [120.107.188.16] | 發表日期 : 2020-05-25 03:26

做一個for迴圈

cin>>a>>b;

for(int i=a;i<=b;++i)

然後開始判斷 i%2,3,5,7,11是否為0

都不為0的話call function

這個function用來判斷傳入的質是否為質數

例如call fun1(i);

那麼我就在fun內執行for迴圈

從3開始找到(int)sqrt(i)+1

不是質數

return 0;

反之

return 1;

在main宣告count=0;

count+=fun1(i);

然後要記得如果a=1

那麼i=1跑進去fun1的話會導致++count;

跑完 for(int i=a;i<=b;++i)

再判斷 2,3,5,7,11是否再[a,b]區間內

是的話就++count;

最後輸出count即可

 

 

 

以下程式碼提供參考

https://pastebin.com/Ehn7QMx4

 
ZeroJudge Forum