A-A+

已知数列的递推公式如下: f(n)=1 当n=0 1时 f(n)=f(n-1)+f(n-2)

2022-08-06 06:36:57 问答库 阅读 176 次

问题详情

已知数列的递推公式如下:
f(n)=1 当n=0,1时
f(n)=f(n-1)+f(n-2) 当n>1时
则按照递推公式可以得到数列:1,1,2,3,5,8,13,21,34,55,……。现要求
从键盘输入n值,输出对应项的值。例如当输入n为8时,应该输出34。程序如下,
请补充完整。
Private Sub runll_Click()
f0=1
f1=1
num=Val(InputBox("请输入一个大于2的整数:"))
For n=2 To 【 】
f2=【 】
f0=f1
f1=f2
Next n
MsgBox f2
End Sub请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:numf0+f1
numf0+f1 解析:程序首先需要接受用户输入的值,根据程序代码可以判断,使用变量num来存放用户输入的值,使用循环实现递推,根据题面“要求从键盘输入n值,输出对应项的值”,可知循环从2开始,到用户输入的值结束,也就是“Forn=2 To num”。根据题面给出的公式“当n>1时,f(n)=f(n-1)+f(n-2)”,可知第n项的值总等于它前两项(即第n-2项与第n-1项)之和,在程序For循环中,总用f2表示第n项,f0表示第n-2项,f1表示第n-1项,所以f2=f0+f1。

考点:数列,公式