數字統計 題目描述 請統計某個給定範圍[L,R]的所有整數中,數字2出現的次數。 比如給定範圍[2,22],數字2在數2中出現了1次,在數21中出現1次,在數22中出現2次,所以數字2在該範圍內一共出現了6次。 輸入格式 2個正整數L和R,之間用一個空格隔開。 輸出格式 數字2出現的次數。 樣例輸入 ...
數字統計
題目描述
請統計某個給定範圍[L,R]的所有整數中,數字2出現的次數。
比如給定範圍[2,22],數字2在數2中出現了1次,在數21中出現1次,在數22中出現2次,所以數字2在該範圍內一共出現了6次。
輸入格式
2個正整數L和R,之間用一個空格隔開。
輸出格式
數字2出現的次數。
樣例輸入1
2 22
樣例輸出1
6
樣例輸入2
2 100
樣例輸出2
20
說明/提示
1≤L≤R≤100000。
解法:
#include <iostream> using namespace std; int cnt=0;//用於統計一共多少個2 void word(int x)//此函數來拆分數位以及判定2的個數 { while(x>0) { if(x%10==2) { cnt++; } x/=10; } } int main () { int l,r; cin>>l>>r; for(int i=l;i<=r;i++) { word(i); } cout<<cnt; return 0; }
“多此一舉”用函數時幫助理解惹。
特別註意哦,在數學中,[n,m]表示n到m之間,包括n和m;
但是(n,m)表示n到m之間,不包括n和m。
還有[n,m)和(n,m],分別為包括n不包括m和不包括n包括m。
它們都表示一個區間~
關於區間的更多相關知識,可見百度百科~