题库/G2029

#G2029. [GESP202609 二级] 直角三角形

    传统题 难度: 进阶 标签>GESPGESP二级递推浮点运算终止条件
时间限制1000 ms
内存限制512 MiB
通过率100%1 / 1 次提交
题目描述 查看题解 开始编程Alt+E

G2029 · [GESP202609 二级] 直角三角形

退出在线编程模式
进阶 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率100%1 / 1 次提交

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

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

例如,第一项是 3.03.0,第二项是 4.04.0,则第三项是 3.02+4.02=5.0\sqrt{3.0^2+4.0^2}=5.0。

其中 x\sqrt{x} 表示 xx 的算术平方根,可以使用 C/C++/Python 标准库中对应函数计算。

小双给定了数列的前两项,并给定一个数列上限,想让你算算数列的第几项会超过小双给定的数列上限?

输入格式

输入三行,第一行一个浮点数是数列第一项,第二行一个浮点数是数列第二项,第三行一个浮点数表示数列上限。

输出格式

输出一个正整数,表示第几项开始会超过小双给定的数列上限。

3.0
4.0
10.0
6

说明与数据范围

样例解释 1

数列依次为:

  • 3.03.0,
  • 4.04.0,
  • 3.02+4.02=5.0\sqrt{3.0^2+4.0^2}=5.0,
  • 4.02+5.02=6.403124…\sqrt{4.0^2+5.0^2}=6.403124\ldots,
  • 5.02+6.4031242=8.124038…\sqrt{5.0^2+6.403124^2}=8.124038\ldots,
  • 6.4031242+8.1240382=10.344080…\sqrt{6.403124^2+8.124038^2}=10.344080\ldots,

因此第 66 项会超过上限。

数据范围

输入均为不超过 1000010000 的正数。

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

无需过度考虑浮点精度问题。

来源与评测数据

GESP C++ 2级,2026年09月第1题。

本题含8个自行生成的测试点,非官方原版测试数据;每题总分100分。

题目信息

#667
100%

1 次通过 · 1 次提交

练习难度 进阶
时间限制
1000ms
内存限制
512MiB

题目标签

暂无标签
上传者