递归函数c语言斐波纳从0 c递归实现斐波那契数列

(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语言代码:
#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语言编程:用函数递归法求Fibonacci数列的前n项·#include stdio.h
long int F(int n)
{
if (n==1||!n) {
return n;
}
else return F(n-1)+F(n-2);
}
int main(void)
{
int i,n;
printf("n=");
scanf("%d",n);
for (i=0; in; i++) {
printf("%-10ld",F(i));
}
return 0;
}
在数理逻辑和计算机科学中
递归函数或μ-递归函数是一类从自然数到自然数的函数,它是在某种直觉意义上是"可计算的"。事实上 , 在可计算性理论中证明了递归函数精确的是图灵机的可计算函数 。递归函数有关于原始递归函数,并且它们的归纳定义(见下)建造在原始递归函数之上 。但是,不是所有递归函数都是原始递归函数 — 最著名的这种函数是阿克曼函数 。
以上内容参考:百度百科-递归函数
【递归函数c语言斐波纳从0 c递归实现斐波那契数列】递归函数c语言斐波纳从0的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c递归实现斐波那契数列、递归函数c语言斐波纳从0的信息别忘了在本站进行查找喔 。

    推荐阅读