如何用递归的思想写一个斐波那契函数
答案:3 悬赏:10
解决时间 2021-02-20 16:07
- 提问者网友:虛偽丶靜
- 2021-02-20 12:42
如何用递归的思想写一个斐波那契函数
最佳答案
- 二级知识专家网友:年轻没有失败
- 2021-02-20 13:21
#include<stdio.h>
void fun(int n,int *s) /// 求斐波那契序列中第n位的值
{
int f1,f2;
if(n==0||n==1)
*s=1;
else
{
fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
}
void main()
{
int x;
fun(5,&x); // 你也可以写一个scanf获取第一个参数
printf("\n%d",x);
}
void fun(int n,int *s) /// 求斐波那契序列中第n位的值
{
int f1,f2;
if(n==0||n==1)
*s=1;
else
{
fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
}
void main()
{
int x;
fun(5,&x); // 你也可以写一个scanf获取第一个参数
printf("\n%d",x);
}
全部回答
- 1楼网友:糜废丧逼
- 2021-02-20 15:06
f(n)={1 (n=1),1(n=2),f(n-1)+f(n-2) (n>=3)}
- 2楼网友:猖狂的痴情人
- 2021-02-20 14:12
#include
int fibonacci(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return fibonacci(n-1)+fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
void main()
{
int n;
printf("please input n: ");
scanf("%d",&n);
printf("result: %d\n",fibonacci(n));
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯