NOI1 13 10 判決素數個數 題解 C

2021-10-23 06:04:19 字數 912 閱讀 5498

10:判決素數個數

總time limit: 1000ms memory limit: 65536kb

description

輸入兩個整數x和y,輸出兩者之間的素數個數(包括x和y)。

input

兩個整數x和y(1 <= x,y <= 105)。

output

輸出乙個整數,表示x,y之間的素數個數(包括x和y)。

sample input

1 100

sample output

25這一題是相當的簡單,水的不要不要的,就是細節要注意一下。我們只需乙個質數判定的小小的函式加for就ok了。

首先,你需要乙個函式來判斷是否是質數,**顯而易見:

boolpd(

int n)

int k =

sqrt

(n);

//只要到根號n就可以了

for(

int i =

2;i<=k;i++)}

return

true

;}

在這裡,我們必須注意乙個問題,題目並沒有說x一定小於y呀,如果不加提前的判斷就會…嘿嘿。

#include

using

namespace std;

boolpd(

int n)

int k =

sqrt

(n);

for(

int i =

2;i<=k;i++)}

return

true;}

intmain()

for(

int i = x;i<=y;i++)}

cout<}

判決素數個數(篩法)

描述 輸入兩個整數x和y,輸出兩者之間的素數個數 包括x和y 輸入兩個整數x和y 1 x,y 10的5次方 輸出輸出乙個整數,表示x,y之間的素數個數 包括x和y 樣例輸入 1 100樣例輸出 25看到這題,首先想到的是在從a到b逐個判斷,累加 我們也可以用篩法高效的做出,執行速度比第乙個快了不少。...

百練3177 判決素數個數

總時間限制 1000ms 記憶體限制 65536kb 描述輸入兩個整數x和y,輸出兩者之間的素數個數 包括x和y 輸入兩個整數x和y 1 x,y 105 輸出輸出乙個整數,表示x,y之間的素數個數 包括x和y 樣例輸入 1 100 樣例輸出 25 分析 由於 1 x,y 105 因此不能在開始時將素...

OpenJudge 百練 3177 判決素數個數

總時間限制 1000ms 記憶體限制 65536kb 描述 輸入兩個整數x和y,輸出兩者之間的素數個數 包括x和y 輸入 兩個整數x和y 1 x,y 105 輸出 輸出乙個整數,表示x,y之間的素數個數 包括x和y 樣例輸入 1 100 樣例輸出 25水題,素數篩法。注意乙個常見出錯點 x與y的大小...