#2733. [2026年9月二级]直角三角形

[2026年9月二级]直角三角形

题目描述

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

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

例如,第一项是 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 标准库中对应函数计算。

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

输入格式

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

输出格式

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

样例

输入样例 1

3.0
4.0
10.0

输出样例 1

6

样例解释 1

数列各项依次为:

  • 第 1 项:3.03.0
  • 第 2 项:4.04.0
  • 第 3 项:3.02+4.02=5.0\sqrt{3.0^2 + 4.0^2} = 5.0
  • 第 4 项:4.02+5.02=6.403124\sqrt{4.0^2 + 5.0^2} = 6.403124\dots
  • 第 5 项:5.02+6.4031242=8.124038\sqrt{5.0^2 + 6.403124^2} = 8.124038\dots
  • 第 6 项:6.4031242+8.1240382=10.345\sqrt{6.403124^2 + 8.124038^2} = 10.345\dots

数列上限为 10.010.0,前 5 项均不超过 10.010.0,第 6 项 10.345>10.010.345\dots > 10.0,因此从第 6 项开始超过上限,输出 6