问题 22558 --【字符串】数字统计(NOIP2010)(例题)

22558: 【字符串】数字统计(NOIP2010)(例题)

时间限制: 1 Sec  内存限制: 128 MB
提交: 14  解决: 13
[提交][状态][讨论版][数据上传:][下载FPS1元][下载测试数据1元][80kb]

题目描述

例5.17  数字统计(Noip2010)


【问题描述】

   请统计某个给定范围[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

【输出样例1】

6

【输入样例2】

2 100

【输出样例2】

20

【数据范围】

  1 ≤L ≤R ≤10000




输入

输出

提示


【算法分析1】



  枚举[L,R]区间的所有整数,对于每个整数x:



     1.将整数x转化成字符串s,可以用sprintf(s,"%d",x)来实现;



     2.枚举字符串s的每个字符判断是否为2。







【算法分析2】



  枚举[L,R]区间的所有整数,对于每个整数x:



   先判断x的最后一位是否为2(即 x%10==2),然后将x的最后一位删除(即 x/=10),循环操作,直到x值为0。





来源

[提交][状态]