2011-06-10 19:45:14Morris

d899. NOIP2010 1.数字统计

http://zerojudge.tw/ShowProblem?problemid=d899

內容 :

请统计某个给定范围[L, R]的所有整数中,数字2 出现的次数。
比如给定范围[2, 22],数字2 在数2 中出现了1 次,在数12 中出现1 次,在数20 中出
现1 次,在数21 中出现1 次,在数22 中出现2 次,所以数字2 在该范围内一共出现了6
次。

輸入說明 :

输入共1 行,为两个正整数L 和R,之间用一个空格隔开。

輸出說明 :

输出共1 行,表示数字2 出现的次数。

範例輸入 :

输入样例1:
2 22
输入样例2:
2 100

範例輸出 :

输出样例1:
6
输出样例2:
20

提示 :

1 ≤ L ≤ R≤ 10000

出處 :

NOIP2010普及组第一题 (管理:liouzhou_101)

作法 : 窮舉
數據很小,窮舉無礙

/**********************************************************************************/
/*  Problem: d899 "NOIP2010 1.数字统计" from NOIP2010普及组第一题       */
/*  Language: C                                                                   */
/*  Result: AC (5ms, 251KB) on ZeroJudge                                          */
/*  Author: morris1028 at 2011-06-04 22:10:47                                     */
/**********************************************************************************/


#include<stdio.h>
main() {
    int L, R;
    while(scanf("%d %d", &L, &R) == 2) {
        int Ans = 0, t;
        for(; L <= R; L++) {
            t = L;
            while(t) {
                Ans += (t%10 == 2);
                t /= 10;
            }
        }
        printf("%d\n", Ans);
    }
    return 0;
}