【手把手带你刷好题】—— 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天!

加油吧少年。


相关文章
|
JavaScript 前端开发 C语言
leetcode每日一题 2021/4/1 1006. 笨阶乘
leetcode每日一题 2021/4/1 1006. 笨阶乘
39 0
|
算法
代码随想录算法训练营第四十天 | LeetCode 343. 整数拆分、96. 不同的二叉搜索树
代码随想录算法训练营第四十天 | LeetCode 343. 整数拆分、96. 不同的二叉搜索树
59 1
|
算法
代码随想录算法训练营第二十八天 | LeetCode 491. 递增子序列、46. 全排列、47. 全排列 II
代码随想录算法训练营第二十八天 | LeetCode 491. 递增子序列、46. 全排列、47. 全排列 II
62 0
[算法刷题题解笔记] 洛谷 P1007 独木桥 [贪心]
[算法刷题题解笔记] 洛谷 P1007 独木桥 [贪心]
|
机器学习/深度学习 算法 Java
代码随想录训练营day41| 343. 整数拆分 96.不同的二叉搜索树
代码随想录训练营day41| 343. 整数拆分 96.不同的二叉搜索树
|
算法 C++
【每日算法Day 103】老题新做,几乎不会有人想到的解法,它来了
【每日算法Day 103】老题新做,几乎不会有人想到的解法,它来了
104 0
|
算法 C++ Python
每日算法系列【LeetCode 1006】笨阶乘
每日算法系列【LeetCode 1006】笨阶乘
|
存储 测试技术
Leetcode | 从斐波那契数聊递归
Leetcode | 从斐波那契数聊递归
103 0
Leetcode | 从斐波那契数聊递归
|
算法
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现
92 0
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现