CCF GESP 2026年9月认证 Python 2级

所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
三 编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
直角三角形
时间限制:1s 内存限制:512MB

题目描述

小双刚学会勾股定理,得知直角三角形的斜边的平方等于两直角边的平方和。

小双创造了直角三角形数列:数列前两项由小双指定,从第三项开始,数列中的每个数字的平方等于前两项的平方和。

例如,第一项是 $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$ ,且两个初始项与数列上限均为正数;若上限不大于初始项,输出 3。

题目保证给定第一项小于第二项。

第 2 题
字符变换
时间限制:1s 内存限制:512MB

题目描述

小明有一个 $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 )。

编程题部分已到底了。

小程序开心码未来

微信扫码,随时随地练 GESP 真题

  • 手机刷题 · 自动判分,错题自动归档到错题本
  • 绑定网站账号后,查看答案解析等权限自动同步
开心码未来小程序二维码(微信扫一扫) 微信扫一扫