CCF GESP 2026年9月认证 C++ 2级
所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
三
编程题
第 1 题
直角三角形
题目描述
小双刚学会勾股定理,得知直角三角形的斜边的平方等于两直角边的平方和。
小双创造了直角三角形数列:数列前两项由小双指定,从第三项开始,数列中的每个数字的平方等于前两项的平方 和。
例如,第一项是 $3.0$,第二项是 $4.0$,则第三项是 $\sqrt{3.0^2+4.0^2} = 5.0$。
其中 $\sqrt{x}$ 表示 $x$ 的算术平方根,可以使用 C/C++/Python 标准库中对应函数计算。
小双给定了数列的前两项,并给定一个数列上限,想让你算算数列的第几项会超过小双给定的数列上限?
输入格式
输入三行,第一行一个浮点数是数列第一项,第二行一个浮点数是数列第二项,第三行一个浮点数表示数列上限。
输出格式
输出一个正整数,表示第几项开始会超过小双给定的数列上限。
样例说明
样例 1
输入:
3.0
4.0
10.0
输出:
6
样例解释:
数列依次为:
- $3.0$,
- $4.0$,
- $\sqrt{3.0^2+4.0^2} = 5.0$,
- $\sqrt{4.0^2+5.0^2} = 6.403124...$,
- $\sqrt{5.0^2+6.403124^2} = 8.124038...$,
- $\sqrt{6.403124^2+8.124038^2} = 10.344080...$,
因此第 $6$ 项会超过上限。
数据范围
输入均为不超过 $10000$ 的正数。
题目保证给定第一项小于第二项。
第 2 题
字符变换
题目描述
小明有一个 $8\times16$ 的画布($8$ 行 $16$ 列),画布中的格子从上到下从左到右编号,左上的编号为 $1$,第一排最后一个的编号为 $16$,最后一排第一个编号为 $113$,右下为 $128$。
初始画布中的每个格子都是 * ,随后小明会给定三个正整数,小明会将对应编号的格子变为该正整数对应的 ASCII 编码字符。
最后请帮小明输出整个画布。
输入格式
输入包含三行,每行一个正整数,表示需要替换的画布格子编号。
输出格式
输出 $8\times16$ 的画布。
样例说明
样例 1
输入:
48
65
97
输出:
****************
****************
***************0
****************
A***************
****************
a***************
****************
数据范围
输入范围是 $48$ 到 $57$,$65$ 到 $90$,以及 $97$ 到 $122$(即 ASCII 编码的 0 到 9 , A 到 Z ,以及 a 到 z )。
编程题部分已到底了。