描述
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。
格式
输入格式
输入共一行,为两个正整数L和R,之间用一个空格隔开。
输出格式
输出共1行,表示数字2出现的次数。
我用了c++11里面的 to_string函数,Vijos好像不支持,不过应该是对的。‘
to_string(val) :一组重载函数,返回数值val的string表示,val可以是任何算术类型。对每个浮点类型和int或更大的整形,都有相应版本的to_string。与往常一样,小整形会被提升。p328.
#include<iostream>
#include<string>
using namespace std;
int main()
{
int l, r,sum;
string s;
while (cin >> l >> r)
{
sum = 0;
for (int i = l; i <= r; i++)
{
s = to_string(i);
for (auto c : s)
{
if (c == '2')
sum++;
}
}
cout << sum << endl;
s.clear();
}
return 0;
}