[蓝桥杯 2021 省 A2] 填空问题

题目描述

## 试题 A :双阶乘 ### 【问题描述】 一个正整数的双阶乘,表示不超过这个正整数且与它有相同奇偶性的所有正整数乘积。$n$ 的双阶乘用 $n ! !$ 表示。 例如: $3 ! !=3 \times 1=3$。 $8 ! !=8 \times 6 \times 4 \times 2=384$。 $11 ! !=11 \times 9 \times 7 \times 5 \times 3 \times 1=10395$。 请问,$2021 ! !$ 的最后 $5$ 位(这里指十进制位)是多少? 注意:$2021 ! !=2021 \times 2019 \times \cdots \times 5 \times 3 \times 1$。 提示:建议使用计算机编程解决问题。 ### 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 ## 试题 B:格点 ### 【问题描述】 如果一个点 $(x,y)$ 的两维坐标都是整数,即 $x \in \mathbb{Z}$ 且 $y \in \mathbb{Z}$,则称这个点为一个格点。 如果一个点 $(x,y)$ 的两维坐标都是正数,即 $x>0$ 且 $y>0$,则称这个点在第一象限。 请问在第一象限的格点中,有多少个点 $(x,y)$ 的两维坐标乘积不超过 $2021$ ,即 $x \cdot y \leq 2021$。 提示:建议使用计算机编程解决问题。 ### 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 ## 试题 C :整数分解 ### 【问题描述】 将 $3$ 分解成两个正整数的和,有两种分解方法,分别是 $3=1+2$ 和 $3=2+1$。注意顺序不同算不同的方法。 将 $5$ 分解成三个正整数的和,有 $6$ 种分解方法,它们是 $1+1+3=1+2+2=$ $1+3+1=2+1+2=2+2+1=3+1+1$。 请问,将 $2021$ 分解成五个正整数的和,有多少种分解方法? ### 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 ## 试题 D:城邦 ### 【问题描述】 小蓝国是一个水上王国,有 $2021$ 个城邦,依次编号 $1$ 到 $2021$ 。在任意两个城邦之间,都有一座桥直接连接。 为了庆祝小蓝国的传统节日,小蓝国政府准备将一部分桥装饰起来。 对于编号为 $a$ 和 $b$ 的两个城邦,它们之间的桥如果要装饰起来,需要的费用如下计算:找到 $a$ 和 $b$ 在十进制下所有不同的数位,将数位上的数字求和。 例如,编号为 $2021$ 和 $922$ 两个城邦之间,千位、百位和个位都不同,将这些数位上的数字加起来是 $(2+0+1)+(0+9+2)=14$。注意 $922$ 没有千位,千位看成 $0$ 。 为了节约开支,小蓝国政府准备只装饰 $2020$ 座桥,并且要保证从任意一个城邦到任意另一个城邦之间可以完全只通过装饰的桥到达。 请问,小蓝国政府至少要花多少费用才能完成装饰。 提示:建议使用计算机编程解决问题。 ### 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 ## 试题 E:游戏 ### 【问题描述】 小蓝闲着无聊开始自己和自己做游戏。 首先规定一个正整数 $n$。 他首先在纸上写下一个 $1$ 到 $n$ 之间的数。在之后的每一步,小蓝都可以选择上次写的数的一个约数 (不能选上一个写过的数),写在纸上。直到最终小蓝写下 $1$ 。 小蓝可能有多种游戏的方案。 例如,当 $n=6$ 时,小蓝有 $9$ 种方案:(1),$(2,1),(3,1),(4,1),(4,2,1),(5,1)$,$(6,1),(6,2,1),(6,3,1)$。 请问,当 $n=20210509$ 时有多少种方案? ### 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 本题的答案比较大,如果你编程解决本题,请注意使用合适的数据类型。

输入输出格式

输入格式


输入一个大写字母,表示第几个问题。

输出格式


根据所输入的问题编号,输出对应问题的答案。

输入输出样例

暂无测试点

说明

答题模板,可供参考。 ```cpp #include<iostream> using namespace std; int main() { string ans [] = { "The answer of task A", // 双引号中替换为 A 题的答案 "The answer of task B", // 双引号中替换为 B 题的答案 "The answer of task C", // 双引号中替换为 C 题的答案 "The answer of task D", // 双引号中替换为 D 题的答案 "The answer of task E", // 双引号中替换为 E 题的答案 }; char T; cin >> T; cout << ans[T - 'A'] << endl; return 0; } ```