第43374题 程序题
直角三角形数列

图片 图片

【题目描述】

小杨最近学到了一个新知识:在一个直角三角形中,斜边的平方等于两条直角边的平方和。

他突发奇想,创造了一个有趣的数列,叫做直角三角形数列。

这个数列的规则是:

  • 前两个数由小杨自己定(比如3.0和4.0);
  • 从第三个数开始,每一个数都等于它前面两个数的平方和再开平方。

如果第一项是3.0,第二项是4.0,那么:

  • 第三项 = 图片 $3.0^2 + 4.0^2$ = 图片 9 + 16 = 图片 25 = 5.0
  • 第四项 = 图片 $4.0^2 + 5.0^2$ = 图片 16 + 25 = 图片 41≈6.403124
  • 第五项 = 图片 $5.0^2 + 6.403124^2$ ≈8.124038

……

现在,小杨给了你数列的第一项和第二项,还告诉你一个上限值。

默认小猫角色和白色背景,编写程序帮助小杨计算出这个数列的第几项会第一次超过这个上限。将结果存入变量“ans”中。

注:“开平方”就是求平方根,比如表达式 图片$3.0^2 + 4.0^2$ 可用以下积木块表示,该表达式的结果等于5.0。

图片

【输入描述】

新建变量“a”,表示数列的第一项。

新建变量“b”,表示数列的第二项。

新建变量“k”,表示上限值。

注意:输入的第一项、第二项和上限值都不超过 $1000$,且保证第一项小于第二项。

如下所示:

图片

【输出描述】

新建变量“ans”,一个正整数,表示数列中第几项的值会第一次超过上限。

如下所示:

图片

【样例1】

输入:

a = 3.0
b = 4.0
k = 10.0

输出:

ans = 6

【样例解释1】

  • 第1项:3.0
  • 第2项:4.0
  • 第3项:图片$3.0^2 + 4.0^2$ = 5.0
  • 第4项:图片$4.0^2 + 5.0^2$ ≈6.403124
  • 第5项:图片$5.0^2 + 6.403124^2$ ≈8.124038
  • 第6项:图片$6.403124^2 + 8.124038^2$ ≈10.344080

第6项,超过了上限10.0,所以答案是6。

【样例2】

输入:

a = 1.0
b = 2.0
k = 3.0

输出:

ans = 5

【样例解释2】

  • 第1项:1.0
  • 第2项:2.0
  • 第3项:图片$1.0^2 + 2.0^2$ ≈2.236068
  • 第4项:图片$2.0^2 + 2.236068^2$ ≈3.0
  • 第5项:图片$2.236068^2 + 3.0^2$ ≈3.741657

第5项,超过了上限3.0,所以答案是5。

【注意事项】

  1. 变量名的拼写(包括大小写)要和题目完全一致(建议直接从题目中复制变量名,避免自己打字时弄错大小写或拼写)。
  2. 输入变量直接赋值即可,无需使用“询问并等待”积木块。
  3. 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块。
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
编辑模式
程序运行统计
暂无判题统计
知识点:
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析