# 2020q3 Homework7 (quiz7) contributed by < `Holycung` > [2020q3 Homework7 (quiz7) 題目](https://hackmd.io/@sysprog/2020-quiz7) ## 目錄 [TOC] ## 測驗 1 ### 題目 給定兩個函式實作: ```cpp= int funcA(int i) { if (i == 0) return 0; return 5 * funcA(i - 1); } int funcB(int i) { if (i == 0) return 0; return funcB(i - 1); } ``` 以 [tail recursion](https://en.wikipedia.org/wiki/Tail_call) 的觀點,請從下列選項挑出正確的陳述。 ### 作答 根據 [Tail call](https://en.wikipedia.org/wiki/Tail_call#Syntactic_form) 當中的 Syntactic form 範例有提到如下。 > control must return to the caller to allow it to inspect or modify the return value before returning it. 所以在最後 return 時還有做運算或是 if else 都算是在 tail position,所以這邊只有 `funcB` 是 Tail recursion。 ### 延伸問題 ## 測驗 2 ### 題目 ### 作答 ### 延伸問題 ## 測驗 3 ### 題目 ### 作答 ### 延伸問題 ## 測驗 4 ### 題目 ### 作答 ### 延伸問題 ## 測驗 5 ### 題目 ### 作答 ### 延伸問題 ## 參考資料