CCF GESP 2023年9月认证 C++ 2级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
小杨的 X 字矩阵
时间限制:1s 内存限制:128MB

题目描述

小杨想要构造一个 $N \times N$ 的 X 字矩阵( $N$ 为奇数),这个矩阵的两条对角线都是半角加号 + ,其余都是半角减号 - 。例如,一个 $5 \times 5$ 的 X 字矩阵如下:

+---+
-+-+-
--+--
-+-+-
+---+

请你帮小杨根据给定的 $N$ 打印出对应的“X 字矩阵”。

输入格式

一行一个整数 $N$( $5 \le N \le 49$,保证 $N$ 为奇数)。

输出格式

输出对应的“X 字矩阵”。

请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 $N$ 行,每行除了换行符外恰好包含 $N$ 个字符,这些字符要么是 +,要么是 -

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

样例说明

样例 1

输入:
5
输出:
+---+
-+-+-
--+--
-+-+-
+---+

样例 2

输入:
7
输出:
+-----+
-+---+-
--+-+--
---+---
--+-+--
-+---+-
+-----+
第 2 题
数字黑洞
时间限制:1s 内存限制:128MB

题目描述

给定一个三位数,要求各位不能相同。例如,$352$ 是符合要求的,$112$ 是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到 $495$!

试试看,重新排列 $352$,得到的最大数为 $532$,最小数为 $235$,它们的差是 $297$;变换 $297$,得到 $972-279=693$;变换 $693$,$963-369=594$;变换 $594$,$954-459=495$。因此,$352$ 经过 $4$ 次变换得到了 $495$。

现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到 $495$ 吗?

输入格式

输入一行,包含一个符合要求的三位数 $N$。

输出格式

输出一行,包含一个整数 $C$,表示经过 $C$ 次变换得到 $495$。

样例说明

样例 1

输入:
352
输出:
4
编程题部分已到底了。