1. 程式人生 > >c語言之題1

c語言之題1

用函式求 fibonacci數列前n項的和。
說明:fibonacci數列為數列的第一項值為1,第二項值也 為1,從第三項開始,每一項均為其前面相鄰兩項的和。

例如:當n=28時,執行結果:832039

自己想的方案1:

long fibonacci_sum(int n){
           long a=1,b=1,sum=0;
           int i;
           if(n<0)
              return 0;
           if(n==1||n==2)
              return 1;
          for(i=0;i<n-2;i++){
              sum=a+b;
              a=b;
              b=sum;
          }
          return sum;
     
 }
遞迴方案:

long fibonacci_sum(int n){
      if(n==1||n==2)
           return 1;
     return fibonacci_sum(n-1)+fibonacci_sum(n-2); 
 }