C语言经典算法(七)——递归实现阶乘算法的两种方法「建议收藏」

C语言经典算法(七)——递归实现阶乘算法的两种方法「建议收藏」今后继续整理算法并写出自己的理解和备注。C++实现的:递归实现阶乘算法N!1、递归实现n!题目描述:输入n值,求解n的阶乘方法一:累乘法方法二:递归法源码:一、递归实现n!1、累乘法#includeusingnamespacestd;#defineULunsignedlongULFactorial(ULn){int

大家好,又见面了,我是你们的朋友全栈君。

今后继续整理算法并写出自己的理解和备注。 C++实现的:递归实现阶乘算法N!
1、 递归实现n!
<1> 题目描述:输入n值,求解n的阶乘
<2> 方法一:累乘法
<3> 方法二:递归法
源码:
一、 递归实现n!
1、 累乘法

#include<iostream>
using namespace std;
#define UL unsigned long
UL Factorial(UL n)
{
    int sum = 1;
    for(int i=1; i<=n; ++i)//数学概念
    {
        sum *= i;
    }
    return sum;
}
void main()
{
    UL n;
    cout<<"请输入n:>";
    cin>>n;
    cout<<n<<"的阶乘为:>"<<Factorial(n)<<endl;
}

2、 递归法

#include<iostream>
using namespace std;
#define UL unsigned long
UL Factorial(UL n)
{
    if(n == 0)
        return 1;
    else
        return n * Factorial(n-1);//递归有临界,不能溢出调用栈,则可以直接使用递归,代码简单但效率不会很高
}
void main()
{
    UL n;
    cout<<"请输入n:>";
    cin>>n;
    cout<<n<<"的阶乘为:>"<<Factorial(n)<<endl;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164015.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hash 哈希算法_哈希一致性算法

    hash 哈希算法_哈希一致性算法文章目录一、哈希函数定义特点应用常见哈希算法二、murmurhash定义特点应用介绍三、MurmurHash使用四、性能测试MurmurHash:(multiplyandrotate)and(multiplyandrotate)Hash,乘法和旋转的hash算法。一、哈希函数定义散列函数(英语:Hashfunction)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合

    2022年10月18日
    5
  • 小程序uv访客怎么刷_微信小程序获取访客数据-使用攻略

    小程序uv访客怎么刷_微信小程序获取访客数据-使用攻略一、使用场景企业希望有更多机会获取微信小程序访客的数据,以便精准快速地和客户取得联系、把握并转化商机。二、如何获取微信访客数据2.1可设置在特定场景下,触发授权请求,获取访客的微信头像昵称或手机号。如果访客已经授权了微信头像昵称或手机号后,则不会再要求访客授权。(注:获取手机号功能需要先授权“非个人”主体的微信小程序才可使用。)2.2授权请求分为两种:引导授权、强制授权。引导授权:显示弹窗,引…

    2022年9月18日
    2
  • export命令什么意思_report函数

    export命令什么意思_report函数一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。    —-《UNIX教程》

    2025年9月26日
    3
  • QQ强制聊天工具,教你如何强制用QQ与陌生人聊天

    QQ强制聊天工具,教你如何强制用QQ与陌生人聊天

    2021年8月13日
    486
  • jetbrains系列软件汉化图文教程

    idea 激活码,jetbrains系列软件汉化图文教程

    2022年3月13日
    63
  • 基于jsp和基于web的区别_java发送短信

    基于jsp和基于web的区别_java发送短信最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细)最近几天有人需要帮忙做一个关于发送验证码的功能,之前没有做过,于是我鼓捣一阵子,记录一下关于web项目中注册登录常用的手机验证码和邮箱验证码的发送。作为一个演示项目,我没有使用任何框架,用了一个简单的jsp+Servlet,当然用boostrap美化了一下。代码带有注释,非常简单易懂。一、手机验证码由于手机…

    2022年10月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号