直角三角形
Python GESP真题 二级 2026.9 #1
EXY-PG-0402
时间限制: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。

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