【C語言教學手冊(四版)-練習題解答】

 第8章

C語言教學手冊(四版)-博客來網址

      8.4 遞迴函數

18. 試依序回答下列的問題: (a) 試將 prog8_12 計算費氏數列的函數 int fib(n),改以非遞迴的方式來撰寫(提 示:利用 for 迴圈)。 (b) 就效率而言,以 for 迴圈撰寫的 fib() 函數的執行速度較快,還是以遞迴的方 式來撰寫的 fib() 函數較快,為什麼?

#include <stdio.h> 
int fib(int); 
int main() 

  int n;

  for(n=1;n<=10;n++)

    printf(“fib(%d)=%d\n”,n,fib(n));

}

int fib(int n)


  int i,ans = 0;

int n1 = 1 ,n2 = 1;

        if (num==1 || num==2)

     return 1;

       

        else

        {

                for (int i=3;i<num;i++)

                {

                        ans = n1 + n2;

                        n1 = n2;

                        n2 = ans;

                }

        return ans;

        }

}

 

(b)

會發生重覆計算

 

 


 

(不好意思小宣傳一下我的繪圖 希望大家喜歡)

 

\\

這是我的海苔貓粉專

www.facebook.com/norinekocat/

 

海苔貓IG

海苔貓Instagram

 

謝謝大家:))

裡面有許多繪圖作品~ 希望大家支持我會繼續努力

請多多指教哦

 

 

ps

p新的貼圖終於出來了💜💜💜可愛的海苔貓-第三代

 

海苔貓繪圖作品\\

希望大家支持~~

arrow
arrow
    文章標籤
    c語言 遞迴 for
    全站熱搜

    海苔貓Nori 發表在 痞客邦 留言(0) 人氣()