递归数列C语言函数 递归求fabonacci数列c语言

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

#include

创新互联-专业网站定制、快速模板网站建设、高性价比秦皇岛网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式秦皇岛网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖秦皇岛地区。费用合理售后完善,十余年实体公司更值得信赖。

#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语言函数的递归调用实现求数列1,1,2,3,5,8……..前30项之和。

递归函数如下:

首先斐波拉楔数列的前n项和递推公式为S(n)=S(n-1)+S(n-2)+1;

(根据通项公式a[n]=a[n-1]+a[n-2]很容易推导出来)

递归函数如下所示;

int sum_Fibonacci(int n)

{

if(1 == n)

return 1;

else if(2 == n)

rerurn 2;

else

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

}

C语言 求 数列函数(用递归)

#include stdio.h

int fun(int n)

{

if(n==0)

  return 0;

return n%2?2*fun(n-1)+1:2*fun(n-1)-1;

}

int main()

{

int n;

scanf("%d",n);

printf("%d\n",fun(n));

return 0;

}

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语言函数 递归求fabonacci数列c语言
标题来源:http://myzitong.com/article/dojhcjc.html