# 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
### 題目
### 作答
### 延伸問題
## 參考資料