[蓝桥杯 2023 国 B] 子 2023 / 双子数
题目描述
## A 子 2023
小蓝在黑板上连续写下从 $1$ 到 $2023$ 之间所有的整数,得到了一个数字序列:
$$S = 12345678910111213\cdots 20222023$$
小蓝想知道 $S$ 中有多少种子序列恰好等于 $2023$?
提示,以下是 $3$ 种满足条件的子序列(用中括号标识出的数字是子序列包含的数字):
$$1[\textbf2]34567891[\textbf0]111[\textbf2]1[\textbf3]14151617181920212223 \cdots$$
$$1[\textbf2]34567891[\textbf0]111[\textbf2]131415161718192021222[\textbf3] \cdots$$
$$1[\textbf2]34567891[\textbf0]111213141516171819[\textbf2]021222[\textbf3] \cdots$$
注意以下是不满足条件的子序列,虽然包含了 $2$、$0$、$2$、$3$ 四个数字,但是顺序不对:
$$1[\textbf2]345678910111[\textbf2]131415161718192[\textbf0]21222[\textbf3] \cdots$$
## B 双子数
若一个正整数 $x$ 可以被表示为 $p^2 \times q^2$,其中 $p$、$q$ 为质数且 $p \neq q$,则 $x$ 是
一个 “双子数”。请计算区间 $[2333, 23333333333333]$ 内有多少个 “双子数”?
输入输出格式
输入格式
输入一个大写字母,表示第几个问题。
输出格式
根据所输入的问题编号,输出对应问题的答案。
输入输出样例
暂无测试点说明
答题模板,可供参考。
```cpp
#include<iostream>
using namespace std;
int main() {
string ans [] = {
"The answer of task A", // 双引号中替换为 A 题的答案
"The answer of task B", // 双引号中替换为 B 题的答案
};
char T;
cin >> T;
cout << ans[T - 'A'] << endl;
return 0;
}
```
第十四届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组 A、B 题