运用c++编写程序,用函数递归调用,计算10!
时间: 2024-02-25 18:52:22 浏览: 64
好的,以下是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int result = factorial(10);
cout << result << endl; // 输出 3628800
return 0;
}
```
解释一下代码:
- `factorial(n)` 函数用来计算 n 的阶乘,使用递归调用的方式。
- 当 n 等于 1 时,递归结束,返回 1。
- 否则,递归调用 `factorial(n-1)`,并将结果乘以 n。
- `main()` 函数中,调用 `factorial(10)` 来计算 10!,并将结果保存在 `result` 变量中。
- 最后一行输出 `result` 的值,即 10! 的结果。
注意:C++ 中递归调用次数过多可能会导致栈溢出,所以在实际使用时需要注意递归深度的控制。
相关问题
用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的阶乘。
C++ 用函数递归调用计算1+2+3+...+100的值
下面是C++用函数递归调用计算1+2+3+...+100的值的代码:
```cpp
#include <iostream>
using namespace std;
int sum(int n) {
int x = n;
x && (x += sum(n-1));
return x;
}
int main() {
cout << "1+2+3+...+100=" << sum(100) << endl;
return 0;
}
```
运行结果为:
```
1+2+3+...+100=5050
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)