申論 4假設有一個C 語言函式如下(左側數字為列號,非程式之一部分):1 int f(int n)2 {3 if (n == 0)4 return(0);5 if (n == 1)6 return(1);7 printf("ADD ");8 return (f (n-1) + f (n-2));9 }㈠以f(4)呼叫上面函式,會列印出多少個"ADD"?(6 分)㈡如果以f(n)呼叫上面函式,n 為任意正整數,程式執行完畢後,會列印出多少個"ADD"?請推導其通式(只要推導出其關係式即可)。(12 分)㈢在忽略第7 列的情形下,可將上面函式改寫成更有效率的函式如下。請完成第10~12 列的程式內容。(8 分)1 int f(int n)2 {3 int i, a,b,c;4 if (n <= 1)5 return(n);6 a=0;7 b=1;8 for (i = 2; i <= n; i++)9 {13 } // end of for14 return (c);15 }