[蓝桥杯 2023 国 B] 子 2023 / 双子数
题目描述
A 子 2023
小蓝在黑板上连续写下从 1 1 1 到 2023 2023 2023 之间所有的整数,得到了一个数字序列:
S = 12345678910111213 ⋯ 20222023 S = 12345678910111213\cdots 20222023 S=12345678910111213⋯20222023
小蓝想知道 S S S 中有多少种子序列恰好等于 2023 2023 2023?
提示,以下是 3 3 3 种满足条件的子序列(用中括号标识出的数字是子序列包含的数字):
1 [ 2 ] 34567891 [ 0 ] 111 [ 2 ] 1 [ 3 ] 14151617181920212223 ⋯ 1[\textbf2]34567891[\textbf0]111[\textbf2]1[\textbf3]14151617181920212223 \cdots 1[2]34567891[0]111[2]1[3]14151617181920212223⋯
1 [ 2 ] 34567891 [ 0 ] 111 [ 2 ] 131415161718192021222 [ 3 ] ⋯ 1[\textbf2]34567891[\textbf0]111[\textbf2]131415161718192021222[\textbf3] \cdots 1[2]34567891[0]111[2]131415161718192021222[3]⋯
1 [ 2 ] 34567891 [ 0 ] 111213141516171819 [ 2 ] 021222 [ 3 ] ⋯ 1[\textbf2]34567891[\textbf0]111213141516171819[\textbf2]021222[\textbf3] \cdots 1[2]34567891[0]111213141516171819[2]021222[3]⋯
注意以下是不满足条件的子序列,虽然包含了 2 2 2、 0 0 0、 2 2 2、 3 3 3 四个数字,但是顺序不对:
1 [ 2 ] 345678910111 [ 2 ] 131415161718192 [ 0 ] 21222 [ 3 ] ⋯ 1[\textbf2]345678910111[\textbf2]131415161718192[\textbf0]21222[\textbf3] \cdots 1[2]345678910111[2]131415161718192[0]21222[3]⋯
B 双子数
若一个正整数
x
x
x 可以被表示为
p
2
×
q
2
p^2 \times q^2
p2×q2,其中
p
p
p、
q
q
q 为质数且
p
≠
q
p \neq q
p=q,则
x
x
x 是
一个 “双子数”。请计算区间
[
2333
,
23333333333333
]
[2333, 23333333333333]
[2333,23333333333333] 内有多少个 “双子数”?
输入格式
输入一个大写字母,表示第几个问题。
输出格式
根据所输入的问题编号,输出对应问题的答案。
提示
答题模板,可供参考。
#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 题
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容