題目描述ios
請統計某個給定範圍[L,R]的全部整數中,數字2出現的次數。函數
好比給定範圍[2,22],數字2在數2中出現了1次,在數21中出現1次,在數22中出現2次,因此數字2在該範圍內一共出現了6次。spa
輸入格式code
2個正整數L和R,之間用一個空格隔開。blog
輸出格式ci
數字2出現的次數。get
樣例輸入1數學
2 22
樣例輸出1it
6
樣例輸入2io
2 100
樣例輸出2
20
說明/提示
1≤L≤R≤100000。
解法
1 #include <iostream> 2 using namespace std; 3 4 int cnt=0;//用於統計一共多少個2 5 void word(int x)//此函數來拆分數位以及斷定2的個數 6 { 7 while(x>0) 8 { 9 if(x%10==2) 10 { 11 cnt++; 12 } 13 x/=10; 14 } 15 } 16 17 int main () 18 { 19 int l,r; 20 cin>>l>>r; 21 for(int i=l;i<=r;i++) 22 { 23 word(i); 24 } 25 cout<<cnt; 26 return 0; 27 }
樓樓「畫蛇添足」用函數是幫助理解惹。
特別注意哦,在數學中,[n,m]表示n到m之間,包括n和m;
可是(n,m)表示n到m之間,不包括n和m。
還有[n,m)和(n,m],分別爲包括n不包括m和不包括n包括m。
它們都表示一個區間~
關於區間的更多相關知識,可見百度百科~