c 语言math库中求和,C语言初学者 斐波那契数列求和

  • Post author:
  • Post category:其他


#1

//1 1 2 3 5 8 13 21 34 55 89

1   1

2    1+1

3    (1+1)+2

4     (1+1+2)+3

5     (1+1+2+3)+5

6     (1+1+2+3+5)+8

fun(1)==1

fun(2)==fun(1)+1

fun(3)==fun(2)+2

fun(4)==fun(3)+3

fun(5)==fun(4)+5

fun(6)==fun(5)+8

sumfun(0)==0

sumfun(1)==sumfun(0)+1

sumfun(2)==sumfun(1)+1

sumfun(3)==sumfun(2)+2

sumfun(4)==sumfun(3)+3

sumfun(5)==sumfun(4)+5

sumfun(6)==sumfun(5)+8

可以看到,sumfun求和递归时,应是前一个求和值加一个斐波那契数列,数列生成用如下递归

fiber(1)==1

fiber(2)==1

fiber(3)==fiber(1)+fiber(2)

fiber(4)==fiber(2)+fiber(3)

fiber(5)==fiber(3)+fiber(4)

即fiber(1)=1,fiber(2)=1,n>2则fiber(n)=fiber(n-1)+fiber(n-2)

因此,sumfun的递归表述为:sumfun(0)=0,n>0则sumfun(n)==sumfun(n-1)+fiber(n)

原理如下,代码你自己来,祝你成功