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的大小...