A26392. 统计数带
填空题
困难
知识点
题目描述
统计数带
题目描述
给定两个正整数 a 和 b,它们之间的十进制数字组成了一条数带,请问其中相邻的两位数字组成 12 的情况出现了多少次?例如 a=210,b=213,则数带为
2 1 0 2 1 1 2 1 2 2 1 32~1~0~2~1~1~2~1~2~2~1~32 1 0 2 1 1 2 1 2 2 1 3
其中 12 出现了两次,第一个 12 由 211 的个位和 212 的百位组成。
输入格式
两个整数 a 和 b。
输出格式
数带中 12 出现的次数。
输入样例#1
210 212输出样例#1
2输入样例#2
1 9输出样例#2
1说明提示
1≤a≤b≤106
参考答案
#include <iostream>
#include <string>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
// 生成数带字符串
string tape;
for (int num = a; num <= b; ++num) {
tape += to_string(num);
}
// 统计"12"出现次数
int count = 0;
for (int i = 0; i < tape.size() - 1; ++i) {
if (tape[i] == '1' && tape[i+1] == '2') {
count++;
}
}
cout << count << endl;
return 0;
}
上一题
下一题