P9420 [蓝桥杯 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 using namespace std; int main() { string ans [] = { "The answer of task A", // 双引号中替换为 A 题的答案 "The answer of task B", // 双引号中替换为 B 题的答案 }; char T; cin >> T; cout