C++递归算法怎样实现阶乘计算

   2024-09-29 8480
核心提示:在C++中,使用递归算法实现阶乘计算的方法如下:#include iostream// 阶乘函数声明unsigned long long factorial(int n);int mai

在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并返回一个unsigned long long类型的值。在main函数中,我们获取用户输入的整数,检查它是否为正整数,然后调用factorial函数计算阶乘并输出结果。

factorial函数的实现基于递归算法。当n为0或1时,函数返回1(基本情况)。否则,函数返回n乘以factorial(n-1)的结果(递归情况)。这将一直递归下去,直到n减小到0或1。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号