阅读量:0
在C++中,使用递归算法实现阶乘计算的方法如下:
#include <iostream> // 阶乘函数声明 unsigned long long factorial(int n); int main() { int number; std::cout << "请输入一个正整数: "; std::cin >> number; // 检查输入是否为正整数 if (number < 0) { std::cout << "输入错误!请输入一个正整数。" << std::endl; return 1; } // 计算阶乘并输出结果 unsigned long long result = factorial(number); std::cout << number << "的阶乘是: " << result << std::endl; return 0; } // 阶乘函数定义 unsigned long long factorial(int n) { // 基本情况:0! = 1 和 1! = 1 if (n == 0 || n == 1) { return 1; } // 递归情况:n! = n * (n-1)! return n * factorial(n - 1); }
这个程序首先包含了
factorial函数的实现基于递归算法。当n为0或1时,函数返回1(基本情况)。否则,函数返回n乘以factorial(n-1)的结果(递归情况)。这将一直递归下去,直到n减小到0或1。