斐波那契递归函数c语言 递归函数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语言

代码:

#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语言 斐波那契数列怎么写

#include

int

fib(int

n)//递归函数

{

//斐波那契数列算法

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

return

1;

return

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

}

int

main()

{

int

n;

scanf("%d",n);

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

return

0;

}

(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语言 递归函数c语言求斐波那契
本文地址:http://myzitong.com/article/dodihog.html