用C++递归实现a0+1/(a1+1/(a2+1/a3)))
时间: 2023-09-28 13:13:22 浏览: 98
C++递归函数
你可以使用以下的递归函数实现:
```c++
double recursion(double a[], int n) {
if (n == 0) {
return a[0];
} else {
return a[n] + 1.0 / recursion(a, n - 1);
}
}
```
其中,`a` 是一个存放数列元素的数组,`n` 是当前要计算的元素下标。当 `n` 为 0 时,递归结束,返回数组中第一个元素 `a[0]`;否则,递归计算前一个元素的值,并将其加上当前元素 `a[n]` 作为返回值。注意要将 1 转换为浮点数类型,以正确地进行除法运算。
你可以调用这个函数来计算数列的值:
```c++
int main() {
const int n = 3;
double a[n] = {1, 2, 3}; // 数列元素
double res = recursion(a, n - 1); // 计算数列的值
cout << "Result: " << res << endl;
return 0;
}
```
这里假设数列的长度为 4,即数组中有 4 个元素,下标从 0 到 3。在调用 `recursion` 函数时,传入的 `n` 值为 3,表示要计算第 4 个元素的值。
阅读全文