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

[GESP202609 二级] 直角三角形

题目描述

小双刚学会勾股定理,得知直角三角形的斜边的平方等于两直角边的平方和。 小双创造了直角三角形数列:数列前两项由小双指定,从第三项开始,数列中的每个数字的平方等于前两项的平方和。 例如,第一项是 3.03.0,第二项是 4.04.0,则第三项是 5.05.0。 其中 x\sqrt{x} 表示 xx 的算术平方根,可以使用 C/C++/Python 标准库中对应函数计算。 小双给定了数列的前两项,并给定一个数列上限,想让你算算数列的第几项会超过小双给定的数列上限?

输入格式

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

输出格式

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

样例

3.0
4.0
10.0
6

样例解释

数列依次为: 3.03.0,4.04.0,5.05.0,6.403…6.403\ldots,8.124…8.124\ldots,10.344…10.344\ldots,因此第 66 项会超过上限。

数据范围

输入均为不超过 10910^9 的正数。 题目保证给定第一项小于第二项。

子任务 分值 数据范围 特殊性质
11 3030 数列上限 ≤103\le 10^3 无
22 数列上限 ≤106\le 10^6
33 4040 数列上限 ≤109\le 10^9