vb 编程输出fibonacci数列的前N项

 我来答
娱乐小八卦啊a
高粉答主

2019-10-25 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117861

向TA提问 私信TA
展开全部

这题主要考察递归函数的思想。代码如下:

#include<stdio.h>

int  fbi(int i);//递归函数:输出数列的第i项数据,这里i从0开始计算。

int main()
{
int i,N;
scanf("%d",&N);
for(i=0;i<N;i++)
printf("%d ",fbi(i));
return 0;
}

int fbi(int i)//递归函数:输出数列的第i项数据。这里i从0开始计算。
{
if(i<2)
{
return i;
}
else
{
return fbi(i-1)+fbi(i-2);
}
}


扩展资料

一个函数可以调用其他函数。如果这个函数在内部调用它自己,那么这个函数就叫递归函数。递归函数的作用和循环的方法效果一样,即递归函数本质上是一个方法的循环调用,注意:有可能会出现死循环。因此,使用递归函数时,一定要定义递归的边界(即什么时候退出循环)。

注意:在实际使用中,递归函数由于消耗时间比较长(相比for循环和while循环),所以很少使用。要使递归函数有用,则递归函数必须有一个方法来控制递归调用的次数。

每次函数调用自己时,循环都会重复。现在应该能发现该函数的问题,因为它没有办法停止递归调用。这个函数就像一个无限循环,因为没有代码阻止它重复。

参考资料来源:

百度百科——递归函数

leiyangbdwk
推荐于2017-12-16 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4395万
展开全部

Private Sub Form_Load()

Dim I As Integer

Form1.AutoRedraw = True

For I = 1 To 10

Print Fibonacci(I);

Next I

End Sub

Private Function Fibonacci(ByVal N As Integer) As Long

Dim F(32767) As Long

If N = 1 Or N = 2 Then

    Fibonacci = 1

Else

    Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2)

End If

End Function 

另外也可以用通项公式求得。如图片。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风行少年1028
2013-02-02
知道答主
回答量:39
采纳率:0%
帮助的人:14.8万
展开全部
Private Sub Form_Click()
Dim l1 As Long, l2 As Long, l3 As Long, f As Long, n As Integer
l1 = 1: l2 = 1
For n = 1 To 40
If n <= 2 Then
f = 1
Print f
Else
l3 = l1 + l2
l1 = l2
l2 = l3
Print l3
End If
Next n
End Sub
根据之前一版改的,因为当时还没复习到函数和数组,这个程序比较符合当的情境,其实有好几种方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可维丁奈
2018-04-10
知道答主
回答量:1
采纳率:0%
帮助的人:884
展开全部
Private Sub Form_Load()

Dim I As Integer

Form1.AutoRedraw = True

N=val(inputbox(“请输入N的值”))

For I = 1 To N

Print Fibonacci(I);

Next I

End Sub

Private Function Fibonacci(ByVal N As Integer) As Long

Dim F(32767) As Long

If N = 1 Or N = 2 Then

Fibonacci = 1

Else

Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2)

End If

End Function

在大神的基础上稍加改进的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式