c++利用递归函数实现奇数的乘积
时间: 2023-07-30 08:06:50 浏览: 55
好的,以下是利用递归函数实现奇数的乘积的 C++ 代码示例:
```c++
#include <iostream>
using namespace std;
int odd_product(int n) {
if (n == 1) {
return 1;
} else if (n % 2 == 0) {
return odd_product(n-1);
} else {
return n * odd_product(n-2);
}
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
cout << "1到" << n << "中所有奇数的乘积为:" << odd_product(n) << endl;
return 0;
}
```
这个程序首先定义了一个名为odd_product的递归函数,它的参数是一个整数n,函数返回1到n中所有奇数的乘积。函数的基本思路与之前的 Python 示例相同。
接下来,在主函数中,程序提示用户输入一个正整数n,调用odd_product函数计算1到n中所有奇数的乘积,并输出结果。
例如,如果我们输入n=5,程序将会输出:1到5中所有奇数的乘积为:15。
相关问题
利用递归函数实现奇数的乘积
好的,以下是利用递归函数实现奇数的乘积的代码示例(Python语言):
```python
def odd_product(n):
if n == 1:
return 1
elif n % 2 == 0:
return odd_product(n-1)
else:
return n * odd_product(n-2)
```
这个函数接受一个正整数n作为输入,返回1到n中所有奇数的乘积。函数的基本思路是:如果n是偶数,则递归调用odd_product(n-1);如果n是奇数,则计算n乘以odd_product(n-2)。当n等于1时,递归终止,返回1。
例如,如果我们调用odd_product(5),函数将会返回1乘3乘5=15。
用c++编写递归函数实现n!
下面是用C++实现的递归函数实现n!的代码:
```c++
#include <iostream>
using namespace std;
int factorial(int n) {
if(n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n = 5;
cout << n << "! = " << factorial(n) << endl;
return 0;
}
```
在这个例子中,我们定义了一个名为`factorial`的函数,它接受一个整数参数`n`并返回`n`的阶乘。如果`n`等于0,那么它的阶乘为1;否则,它的阶乘等于`n`乘以`factorial(n-1)`的结果。在`main`函数中,我们调用`factorial`函数并打印出结果。
当我们调用`factorial(5)`时,它会递归调用`factorial`函数,并计算`5 * factorial(4)`、`4 * factorial(3)`、`3 * factorial(2)`、`2 * factorial(1)`和`1 * factorial(0)`的值,最后返回120,即5的阶乘。