已知数列的递推公式如下: 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,……。现要求

admin2009-08-25  21

问题  已知数列的递推公式如下:
   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

选项

答案num f0+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。
转载请注明原文地址:https://jikaoti.com/ti/ZrP0FFFM
0

最新回复(0)