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

C语言编程:用函数递归法求Fibonacci数列的前n项·

#include stdio.h

泰兴网站建设公司成都创新互联,泰兴网站设计制作,有大型网站制作公司丰富经验。已为泰兴上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的泰兴做网站的公司定做!

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语言)用递归方法编写求斐波那契数列的函数

斐波那契数列的定义为:f(n)=f(n-2)+f(n-1)(n1) 其中f(0)=0, f(1)=1

#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语言用递推和递归两种算法完成斐波那契数列的计算,给一下代码

//递归法

int fibo1(int n)

{

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

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

}

//递推法

int fibo2(int n)

{

int f0=1,f1=1,f;

if (n2)

return 1;

for(int i=2;in-1;i++)

{

f=f0+f1;

f0=f1;

f1=f;

}

return f;

}

区别:递推是直接使用已知的条件去推出未知的条件;递归则是将大问题逐渐转化为若干个相同的子问题,直到得到已知的最小子问题,再回溯依次得到父问题的答案。是由未知到已知,再从已知到未知。对于复杂的问题,递归把问题简单化,读起来易懂。


分享标题:c语言递归函数菲波那 c语言用递归方法实现斐波那契数列
当前网址:http://scjbc.cn/article/ddsjoeh.html

其他资讯