C++ n!递归算法
时间: 2024-09-11 09:12:37 浏览: 52
C++中的n!(n的阶乘)递归算法是一种基于递归函数实现的算法。阶乘函数表示的是从1乘到n的所有整数的乘积,数学上表示为n! = n * (n-1) * (n-2) * ... * 1。对于递归算法,我们将问题分解为更小的子问题,直到达到最简单的情况,即基本情况。
在C++中,我们可以通过定义一个递归函数来实现n!,这个函数会调用自身来计算更小的数的阶乘,直到n为1时结束递归。以下是C++中n!递归算法的一个简单实现:
```cpp
#include <iostream>
// 声明阶乘函数
unsigned long long factorial(unsigned int n);
int main() {
unsigned int number;
std::cout << "请输入一个正整数:";
std::cin >> number;
std::cout << number << "的阶乘是:" << factorial(number) << std::endl;
return 0;
}
// 定义阶乘函数
unsigned long long factorial(unsigned int n) {
// 基本情况:如果n等于1,递归结束
if (n == 1) {
return 1;
}
// 递归情况:否则,返回n乘以(n-1)的阶乘
else {
return n * factorial(n - 1);
}
}
```
这段代码首先包含了iostream库,以便能够使用输入输出流。在main函数中,程序提示用户输入一个正整数,然后调用factorial函数来计算并输出结果。factorial函数是递归的,它首先检查基本情况(n等于1),如果是,则返回1,否则返回n乘以调用自身计算的(n-1)!的结果。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)