5602:[GESP202609二级] 直角三角形

文件提交:无需freopen 内存限制:512 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:3 解决:0

题目描述

## 题目背景 2026 年 09 月 GESP C++ 二级编程第 1 题 ## 题目描述 小双刚学会勾股定理,得知直角三角形的斜边的平方等于两直角边的平方和。 小双创造了直角三角形数列:数列前两项由小双指定,从第三项开始,数列中的每个数字的平方等于前两项的平方和。 例如,第一项是 $3.0$,第二项是 $4.0$,则第三项是 $\sqrt{3.0^2+4.0^2}=5.0$。 其中 $\sqrt{x}$ 表示 $x$ 的算术平方根,可以使用 C/C++/Python 标准库中对应函数计算。 小双给定了数列的前两项,并给定一个数列上限,想让你算算数列的第几项会超过小双给定的数列上限? ## 输入格式 输入三行,第一行一个浮点数是数列第一项,第二行一个浮点数是数列第二项,第三行一个浮点数表示数列上限。 ## 输出格式 输出一个正整数,表示第几项开始会超过小双给定的数列上限。 ## 样例 ```input1 3.0 4.0 10.0 ``` ```output1 6 ``` ## 说明/提示 ### 样例解释 1 数列依次为: - $3.0$, - $4.0$, - $\sqrt{3.0^2+4.0^2}=5.0$, - $\sqrt{4.0^2+5.0^2}=6.403124\ldots$, - $\sqrt{5.0^2+6.403124^2}=8.124038\ldots$, - $\sqrt{6.403124^2+8.124038^2}=10.344080\ldots$, 因此第 $6$ 项会超过上限。 ## 数据范围 输入均为不超过 $10000$ 的正数。 题目保证给定第一项小于第二项。 无需过度考虑浮点精度问题。

来源/分类