c语言斐波那契函数用递归 斐波那契递归算法C语言

我想用递归写斐波那契数列,c语言

代码:

普定ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

#includelt;stdio.hgt;

int Fib(int n){//自定义函数

if(nlt;0)

return-1;

else if(n==0)

return 0;

else if(n==1)

return 1;

else

return Fib(n-1)+Fib(n-2);

}

int main(){

int num;

printf("请输入要求取的第n项斐波那契数列n=");

if(scanf("%d",num)){

if(numgt;=0){

printf("%d",Fib(num));

}

else

printf("Error!!!");

return 0;

}

return 0;

}

扩展资料:

斐波那契数列排列组合

有一段楼梯有10级台阶,规定每一步只能跨一级或两级,要登上第10级台阶有几种不同的走法

这就是一个斐波那契数列:登上第一级台阶有一种登法;登上两级台阶,有两种登法;登上三级台阶,有三种登法;登上四级台阶,有五种登法……

1,2,3,5,8,13……所以,登上十级,有89种走法。

类似的,一枚均匀的硬币掷10次,问不连续出现正面的可能情形有多少种?

答案是(1/√5)*{[(1+√5)/2]^(10+2)-[(1-√5)/2]^(10+2)}=144种。

求递推数列a⑴=1,a(n+1)=1+1/a(n)的通项公式

由数学归纳法可以得到:a(n)=F(n+1)/F(n),将斐波那契数列的通项式代入,化简就得结果。

参考资料:

百度百科——斐波那契数列

(C语言)用递归方法编写求斐波那契数列的函数

#includestdio.h

long func(long n)

{

if(n==0||n==1)return n;

else return func(n-1)+func(n-2);

}

main()

{

long n;

printf("please input n:");

scanf("%ld",n);

printf("the result is %ld",func(n));

}

C语言:利用函数递归求斐波那契数列,输出该数列的前17项,每行输出5个数。

#include

#define

COL

5

//一行输出5个

long

fibonacci(int

n)

{

//fibonacci函数的递归函数

if

(0==n||1==n)

{

//fibonacci函数递归的出口

return

1;

}

else

{

return

fibonacci(n-1)+fibonacci(n-2);

//反复递归自身函数直到碰到出口处再返回就能计算出第n项的值

}

}

int

main(void)

{

int

i,n;

n=

17;

printf("Fibonacci数列的前%d项\n",

n);

for

(i=0;

i

{

printf("%-10ld",fibonacci(i++));

//调用递归函数并且打印出返回值

if(i%COL==0)

{

//若对COL取余等于0就换行,也就是控制每行输出多少个,

//而COL=10就是每行输出10个

printf("\n");

}

}

printf("\n");

return

0;

}

C语言,利用递归调用,编程输出斐波那契数列 ,这个怎么编啊,求指教啊

#includestdio.h

long fun(int i)//递归函数

{

if(i==1||i==2)//递归终止条件

return 1;

else//递归通式

return(fun(i-1)+fun(i-2));

}

int main()

{

int n;

printf("请输入项数:");

scanf("%d",n);

printf("\n斐波那契数列前%d项为:\n",n);

for(int i=1;i=n;i++)

{

printf("%ld\t",fun(i));//调用函数

if(i%5==0)//每输出5项换行

printf("\n");

}

return 0;

}

斐波那契数列C语言递归buzhou

楼上说的同时执行,我愚见觉得是不对的。应该是先执行bashan(n-1),然后再执行n-2的那句。两个都是分别执行递归到计算出结果后,相加作为

返回值

也就是类似一个

二叉树

先序遍历

差不多的感觉。比如说,bashan(4)。执行顺序如下

bashan(4),bashan(3),bashan(2)=2

bashan(2)=2

bashan(4)=2-2=0

如果这里不存在异步多线程之类的操作,就应该从左到右,从上到下,按照顺序完成。

c语言用递归方法实现斐波那契数列

int fbnc(int n)

{ if (n1) return (-1); //wrong;

else if (n2) return 1;

else return (fbnc(n-1)+fbnc(n-2));

}


新闻标题:c语言斐波那契函数用递归 斐波那契递归算法C语言
分享地址:http://scyanting.com/article/docogjc.html