【手把手带你刷好题】—— 56.n的阶乘之和问题(递归)

简介: n的阶乘之和问题(递归)

【前言】

今天是刷题打卡第56天!

加油吧亲们。


原题:1!+2!+3!+...+n!(递归)

首先先利用递归求解n!:

代码执行:

//计算n的阶乘
int fac(int n)
{
  //找边界
  if (n == 0 || n == 1)
    return 1;
  return n * fac(n - 1);//n-1的阶乘规模更小,是原问题的子问题
}

那么计算1!+2!+3!+...+n!之和只需要加上一层循环即可:

代码执行:

#include<stdio.h>
//计算n的阶乘
int fac(int n)
{
  //找边界
  if (n == 0 || n == 1)
    return 1;
  return n * fac(n - 1);
}
int main()
{
  int n = 0;
  scanf("%d", &n);
  int i = 0;
  int sum = 0;
  for (i = 1; i <= n; i++)
  {
    sum += fac(i);
  }
  printf("%d\n",sum);
  return 0;
}


结语

今天是刷题打卡第56天!

加油吧少年。


相关文章
|
Java jenkins 测试技术
如何利用Allure报告提升你的测试效率?
如何利用Allure报告提升你的测试效率?
如何利用Allure报告提升你的测试效率?
|
人工智能 JavaScript 程序员
Fitten Code:在VSCode插件市场备受欢迎的原因是什么?
随着AI技术的不断发展,AI在编写代码方面的能力也日益强大。充分利用AI的能力能够显著提高代码编写的效率和质量。今天我将向大家介绍一款备受瞩目的AI代码神器——Fitten Code,让我们一同揭开它神秘的面纱!
1035 3
|
存储 编解码 算法
视频为什么可以被压缩?帧内压缩与帧间压缩有何区别?视频编码中的CBR、VBR、CRF...是什么?
视频压缩基于冗余,包括空间冗余、时间冗余、视觉冗余和编码冗余。帧内压缩利用空间相关性,帧间压缩利用时间相关性。视频编码中的码率控制方法有CBR(固定码率)、VBR(动态码率)、CRF(固定码率系数)、CQP(固定质量参数)、CVBR(约束可变码率)和ABR(平均码率),各有优缺点,适用于不同的场景。
|
监控 Ubuntu Linux
Linux时间改错了,我想让他恢复正确时间
Linux时间改错了,我想让他恢复正确时间
|
Oracle 关系型数据库 MySQL
OceanBase数据库简介
【8月更文挑战第9天】OceanBase数据库简介
1351 60
|
数据中心 芯片
什么是SFP?SFP的主要特点
【4月更文挑战第21天】
3105 0
什么是SFP?SFP的主要特点
|
Linux
Linux命令(130)之hwclock
Linux命令(130)之hwclock
739 1
|
存储 SQL Oracle
【SQL Server】数据库开发指南(一)数据库设计
在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。这将直接影响到项目的运行性和可靠性。
569 0
【SQL Server】数据库开发指南(一)数据库设计
|
存储 算法
秒懂算法 | BFS与最短路径
搜索包括BFS和DFS,这两种算法是算法竞赛的基础。本篇介绍BFS的扩展应用。
1318 0
秒懂算法 | BFS与最短路径
|
虚拟化 Python Windows
[笔记]Volatility 取证工具使用以及Hollow插件使用
[笔记]Volatility 取证工具使用以及Hollow插件使用
404 0