#P8751. [蓝桥杯 2021 省 B2] 填空问题

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

题目描述

试题 A:求余

【问题描述】

C/C++/Java/\mathrm{C} / \mathrm{C}++/ \mathrm{Java} / Python 等语言中,使用。表示求余,请问 2021%202021 \% 20 的值是多少?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

试题 B:双阶乘

【问题描述】

一个正整数的双阶乘,表示不超过这个正整数且与它有相同奇偶性的所有正整数乘积。nn 的双阶乘用 n!!n ! ! 表示。

例如:

3!!=3×1=33 ! !=3 \times 1=3

8!!=8×6×4×2=3848 ! !=8 \times 6 \times 4 \times 2=384

$11 ! !=11 \times 9 \times 7 \times 5 \times 3 \times 1=10395$。

请问,2021!!2021 ! ! 的最后 55 位(这里指十进制位)是多少?

注意:$2021 ! !=2021 \times 2019 \times \cdots \times 5 \times 3 \times 1$。

提示:建议使用计算机编程解决问题。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

试题 C:格点

【问题描述】

如果一个点 (x,y)(x,y) 的两维坐标都是整数,即 xZx \in \mathbb{Z}yZy \in \mathbb{Z},则称这个点为一个格点。

如果一个点 (x,y)(x,y) 的两维坐标都是正数,即 x>0x>0y>0y>0,则称这个点在第一象限。

请问在第一象限的格点中,有多少个点 (x,y)(x,y) 的两维坐标乘积不超过 20212021 ,即 xy2021x \cdot y \leq 2021

提示:建议使用计算机编程解决问题。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

试题 D:整数分解

【问题描述】

33 分解成两个正整数的和,有两种分解方法,分别是 3=1+23=1+23=2+13=2+1。注意顺序不同算不同的方法。

55 分解成三个正整数的和,有 66 种分解方法,它们是 1+1+3=1+2+2=1+1+3=1+2+2= 1+3+1=2+1+2=2+2+1=3+1+11+3+1=2+1+2=2+2+1=3+1+1

请问,将 20212021 分解成五个正整数的和,有多少种分解方法?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

试题 E:城邦

【问题描述】

小蓝国是一个水上王国,有 20212021 个城邦,依次编号 1120212021 。在任意两个城邦之间,都有一座桥直接连接。

为了庆祝小蓝国的传统节日,小蓝国政府准备将一部分桥装饰起来。

对于编号为 aabb 的两个城邦,它们之间的桥如果要装饰起来,需要的费用如下计算:找到 aabb 在十进制下所有不同的数位,将数位上的数字求和。

例如,编号为 20212021922922 两个城邦之间,千位、百位和个位都不同,将这些数位上的数字加起来是 (2+0+1)+(0+9+2)=14(2+0+1)+(0+9+2)=14。注意 922922 没有千位,千位看成 00

为了节约开支,小蓝国政府准备只装饰 20202020 座桥,并且要保证从任意一个城邦到任意另一个城邦之间可以完全只通过装饰的桥到达。

请问,小蓝国政府至少要花多少费用才能完成装饰。

提示:建议使用计算机编程解决问题。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

输入格式

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

输出格式

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

提示

答题模板,可供参考。

#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;
}