高级光能
1451 数字统计经验值:0
题目描述 Description
请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数。
比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出
现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6
次。
输入描述 Input Description
输入格式:
输入文件名为 two.in。
输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。
输出描述 Output Description
输出格式:
输出文件名为 two.out。
输出共 1 行,表示数字 2 出现的次数。
样例输入 Sample Input
【输入样例1】 2 22 【输入样例2】 2 100
样例输出 Sample Output
【输出样例1】 6 【输出样例2】 20
数据范围及提示 Data Size & Hint
1 ≤ L ≤R≤ 100000。
求思路,核心!!
新手天翼
怎么讲呢
总体还是挺简单的,主要就是容易超时
C++有个叫做stringstream的东西,不知道您知不知道
首先,加载头文件
#include<sstream>
接下来,定义一种特殊的变量
stringstream a[100001];
如果想要将某个字符串转换为stringstream类型
(假定字符串为s)
a[1]<<s;
如果想要将stringstream类型转换为整型
(假定整型为n)
a[1]>>n;
如果还是不理解可以参照这个网址:https://www.cnblogs.com/iceix/p/12713895.html
PS:一个stringstream在一个主函数里只能转换一次,所以一般都是定义一个数组来对成规模的数据进行转换
好了,相信有了这些提示,你应该能做出来
中级光能
额,楼上的也太麻烦了
这是一道很简单的水题,我记得好像是NOIP的题
思路:
1.循环a~b
2.定义一个x来存i
3.开始找有几个2while(x!=0){
........ sum++;
x/=10;
}
THE END