c++使用递归和头文件计算阶乘
时间: 2024-09-18 14:18:12 浏览: 43
在C++中,你可以使用递归函数来计算阶乘。阶乘是一个数的所有小于等于它的正整数的乘积,例如5的阶乘(记作5!)就是5 * 4 * 3 * 2 * 1。递归是当函数直接或间接地调用自身来解决问题的技术。
下面是一个简单的例子,展示如何在头文件中定义一个递归函数来计算阶乘:
```cpp
// factorial.h
#ifndef FACTORIAL_H
#define FACTORIAL_H
#include <iostream>
// 定义阶乘函数,输入一个整数n,返回n的阶乘
unsigned long long factorial(int n);
#endif // FACTORIAL_H
// factorial.cpp
#include "factorial.h"
// 实现递归函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况,0和1的阶乘都是1
return 1;
} else {
return n * factorial(n - 1); // 递归调用,将问题规模缩小到更小的n
}
}
```
在主程序中,只需要包含`factorial.h`,然后就可以调用`factorial`函数了:
```cpp
#include "factorial.h"
int main() {
int num = 5;
std::cout << "The factorial of " << num << " is: " << factorial(num) << std::endl;
return 0;
}
```
阅读全文