C++递归调用函数计算1-1/2+1/3-1/4+1/5-1/6+…-1/20
时间: 2023-09-15 11:23:04 浏览: 181
CC++全排列..1--n的全排列以及字符串的全排列
可以使用递归函数来计算这个表达式。以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
double calc(int n) {
if (n == 1) {
return 1;
} else if (n % 2 == 0) {
return -1.0 / n + calc(n - 1);
} else {
return 1.0 / n + calc(n - 1);
}
}
int main() {
cout << "1 - 1/2 + 1/3 - 1/4 + ... - 1/20 = " << calc(20) << endl;
return 0;
}
```
在这个代码中,`calc`函数使用了递归来计算表达式中的每一项,并将它们相加。当`n`等于1时,递归停止,返回1。当`n`为偶数时,递归调用`calc(n-1)`并减去1/n,否则递归调用`calc(n-1)`并加上1/n。最终,`calc(20)`将返回表达式的值。
阅读全文