【千律】C++基础:通过递归函数计算N的阶乘

2023-11-19

#include <iostream>
using namespace std;

int GetFactorial(int N)
{
	// 递归到最后一位,返回1
	if (N == 1)
	{
		return 1;
	}
	else if (N > 1)
	{
		// 若 N > 1,则计算 【N】 与【N-1 的递归值】
		return GetFactorial(N - 1) * N;
	}

	return 0;
}

int main()
{

	int N = 10;

	int iFactorial = GetFactorial(N);

	cout << "通过递归得到N的阶乘 = " << iFactorial << endl;

	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【千律】C++基础:通过递归函数计算N的阶乘 的相关文章

随机推荐

  • GPIO使用( 一 )

    一 GPIO的两大功能 通用输入输出端口GPIO具有两大功能 一种是作为一个可控的端口引脚 另外一种是通过端口映射功能连接到芯片外设 最为常用的功能是 可以作为一个可控的端口引脚 配置该引脚为输入或者输出 输出功能包括强推挽输出和开漏输出两
  • Laddernet:基于UNet的医学分割多路径网络

    摘要 UNet是医学图像分割中的主流网络 以往的对于UNet网络的修改都是有一个跳跃连接的编码器和解码器组成 这种结构的信息流路径是有限的 本文提出的Laddernet 可以看成是一个由多个UNet组成的链 与原始的UNet不同 Ladde
  • 基于springboot,vue手机商城系统

    开发工具 IDEA 服务器 Tomcat9 0 jdk1 8 项目构建 maven 数据库 mysql5 7 系统分前后台 项目采用前后端分离 前端技术 vue elementUI 服务端技术 springboot mybatis plus
  • ubuntu下Gflags安装、配置、使用

    一 基础知识 1 Gflags是一种命令行解析工具 处理命令行参数的库 主要用于解析用命令行执行可执行文件时传入的参数 在gflags中flag可以分散的定义在各个文件之中 而不用定义在一起 这就意味着在我们可以在一个单独的文件中只定义这个
  • org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    idea下Maven项目 Spring Mybatis 查询时报错 org apache ibatis binding BindingException Invalid bound statement not found 解决方案 org
  • UE4 如何使用C++代码实现 在指定范围内随机生成同一个种类的不同物品(怪物,NPC,拾取物)的 自定义蓝图

    一 引言 在游戏世界中有特别多的物品 NPC 怪物 使用UE4中的蓝图我们可以摆放这些事务 但是如何在指定范围内随机生成同一个种类的不同事物呢 这就需要UE4 实现 C 自定义 蓝图功能 二 构思 首先我们构思一下实现上诉功能 应该怎么做
  • 抖音怎么上传无损画质_抖音上传视频为什么会模糊?如何才能上传高清无损视频?...

    很多初入抖音的朋友 制作好的视频本地预览没有问题 上传视频到抖音就模糊的不行不行的 特别是竖屏 小时候的黑白电视都比它强 最近私我的小伙伴问这个问题的一定多 所以干脆写篇回答 不知道你们有没有这种情况 今天小编就为大家分析一下产生模糊视频的
  • IE Sieve, Memory Leak detector for Internet Explorer

    IE Sieve Memory Leak detector for Internet Explorer sIEve is a project to get rid of memory leaks due to some limitation
  • 7.Simulink基础建模操作——选择判决运算

    欢迎订阅 FPGA MATLAB SIMULINK系列教程 目录 1 基于Simulink的选择判决运算模块简介 2 判决运算模块建模案例1
  • IOS开发-表视图LV3导航控制器

    学到这里感觉有点难了 其实这篇文章再草稿箱里放了好久了 最近对于学习的热情下降了 这不行 抓紧学习走起 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用 首先要了解一些概念 1 导航控制器 UINavigationContro
  • HTTP 协议中的 Transfer-Encoding

    HTTP 协议中的 Transfer Encoding 文章目录 Persistent Connection Content Length Transfer Encoding chunked 本文作为我的博客 HTTP 相关 专题新的一篇
  • 随机森林(RFC)实现模型优化与特征提取

    随机森林既可以进行分类也可以进行回归预测 这里通过随机森林 RFC 模型对汽油辛烷值RON进行特征提取与模型优化 一 导入相关的数据库 import matplotlib pyplot as plt from sklearn ensembl
  • MyBatis介绍及教程

    MyBatis简介 MyBatis 是支持定制化 SQL 存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 MyBatis 可以对配置和原生Map使用简单的 XML 或注解
  • 华为OD机试 - 叠积木(Java)

    题目描述 有一堆长方体积木 它们的宽度和高度都相同 但长度不一 小橙想把这堆积木叠成一面墙 墙的每层可以放一个积木 也可以将两个积木拼接起来 要求每层的长度相同 若必须用完这些积木 叠成的墙最多为多少层 输入描述 输入为一行 为各个积木的长
  • python安装出错

    按照python 程序时候报错 没有更新python 版本 按照上面查看的 pyhon3 m pip install upgrade pip 将命令行路径移到安装python目录下 输入 python exe m pip install u
  • 时间戳获取

  • 在Nuxt应用程序中关闭webpack-hot-middleware客户端覆盖

    有时候 因为代码的语法错误 nuxt界面会弹出 但是 有时候因为缓等原因 即使修复了语法错误 这个提示错误的界面仍然存在 那么 出现这种情况 怎么禁止出这个界面弹出 该如何关闭它呢 在nuxt config js当中配置 overlay f
  • Linux-MYSQL

    1 C语言连接mysql 读 写 2 视图 索引 事务 端口 3306 一 基本操作 1 源码安装 2 命令安装 sudo su gt apt install mysql server 查看进程是否再运行 service mysql sta
  • 20天学会Java-基础阶段笔记

    视频地址 https www bilibili com video BV1Cv411372m 此笔记是 P1 P85 1 开始 1 1 注释 理解 注释是对代码的解释和说明文字 可以提高程序的可读性 因此在程序中添加必要的注释文字十分重要
  • 【千律】C++基础:通过递归函数计算N的阶乘

    include