测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题