求阶乘之和(递归版)(高效) (10 分)

请编写函数,用递归方法求阶乘之和。

SumFac(n)=0!+1!+2!+3+⋯+n!

函数原型

double SumFac(int x);

说明:参数 x 为非负整数,函数值为 0 到 x 的阶乘之和。

要求:不要使用循环语句,不要调用阶乘函数。

提示:需要编写两个函数。首先编写一个递归函数,不妨命名为 SumFac1,直接调用自己得到计算结果;然后再编写 SumFac 函数,它的作用只是给出适当参数来调用 SumFac1 来完成计算。

裁判程序

#include <stdio.h>double SumFac(int x);int main()
{int n;scanf("%d", &n);printf("%.10g\n", SumFac(n));return 0;
}/* 你提交的代码将被嵌在这里 */

输入样例

4

输出样例

34

代码如下:

double SumFac1(double a,double b,double c ,int x)
{return x<=0?c:SumFac1(a+1,b*a,b+c,x-1);}
double SumFac(int x)
{return SumFac1(2,1,1,x);} 

递归求阶乘之和(动态规划)相关推荐

  1. 6-2 递归求阶乘和 (15 分)

    6-2 递归求阶乘和 (15 分) 本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+-+n! 的值. 函数接口定义: double fact( int n ); doub ...

  2. 求阶乘之和(循环版)(利用阶乘函数)

    请编写函数,用循环方法求阶乘之和. SumFac(n)=0!+1!+2!+3+⋯+n! #include <stdio.h> double Fac(int x); double SumFa ...

  3. EduCoder-程序设计技术R-循环结构程序设计2-(第1关:C循环-求平均成绩)(第2关:C循环-求各位数字)(第3关:C循环-求阶乘之和)(第4关:C循环-水仙花数)(第5关:C循环

    目录 第1关:C循环-求平均成绩 代码示例 第2关:C循环-求各位数字之积 代码示例 第3关:C循环-求阶乘之和 代码示例 第4关:C循环-水仙花数 代码示例 第5关:C循环-寻找完数 代码示例 第6 ...

  4. Java求阶乘和求阶乘之和

    * name:first 功能:1.求阶乘 2.求阶乘之和*/ package exe01;import java.util.Scanner; //输入类 import java.io.Buffere ...

  5. python递归方法计算阶乘_python递归求阶乘的方法

    python递归求阶乘的方法 阶乘:例如 5! 指的是"5的阶乘",即 5! = 1*2*3*4*5. "递归"就是对自身进行调用的函数.def f(x): i ...

  6. Java 递归求阶乘

    需求:     .用递归求5的阶乘,并把结果显示在控制台输出 分析:     1.阶乘:一个正整数的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n!         5!=5*4*3*2* ...

  7. python5的阶乘_python递归求阶乘的方法

    python递归求阶乘的方法 阶乘:例如 5! 指的是"5的阶乘",即 5! = 1*2*3*4*5. "递归"就是对自身进行调用的函数.def f(x): i ...

  8. c语言怎么编程已知数的总和,C程序使用递归求自然数之和

    C程序使用递归求自然数之和 在此示例中,您将学习使用递归函数查找自然数之和. 要理解此示例,您应该了解以下C语言编程主题: 正数1.2.3 ...称为自然数.下面的程序从用户处获取一个正整数,然后计算 ...

  9. c语言中阶乘相加怎么表示_用C语言怎样求阶乘之和?

    用C语言怎样求阶乘之和?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用C语言怎样求阶乘之和? 思路 编个函数求n的阶 ...

最新文章

  1. asp.net ajax删除数据,Asp.net MVC 2 使用Ajax删除数据
  2. 《Groovy官方指南》翻译邀请
  3. 今日头条|张一鸣:我遇到的优秀年轻人的5个特质
  4. 周其对话农民丰收节交易会 乡村振兴不能单单从乡村着眼
  5. win7操作系统上,批处理文件,直接双击的时候,能运行起来。但是以管理员身份运行的时候,都闪退。请问,这是怎么回事?...
  6. PHP 正则表达式(PCRE)
  7. 高等组合学笔记(一)集合的计数,映射与集合的排列组合
  8. 网站的服务器怎么维护,网站服务器怎么维护
  9. [bzoj1033] [ZJOI2008]杀蚂蚁 Big MoNI
  10. Axure RP 9 汉化包
  11. c语言万能编程模板_C语言实现模板
  12. Discuz模板的制作方法
  13. 计算机二进制发明者,谁是二进制的发明者
  14. 硬核图解面试最怕的红黑树【建议反复摩擦】
  15. Matlab工具箱实现张正友相机标定
  16. 4、docker中设置elasticsearch、kibana用户名密码、修改密码
  17. Harris角点检测,及其Matlab和OpenCV实现
  18. jenkins shell 权限_Jenkins在shell脚本运行docker权限报错解决
  19. 机器学习 --- k-means
  20. eMMC ext4综述【转】

热门文章

  1. CodeForces - 332B  Maximum Absurdity   前缀和
  2. spring源码系列一--BeanDefinition
  3. 维吉尼亚密码的破解算法及python代码实现
  4. Android百度地图开发入门教程
  5. python kmean 多维_绘制多维Kmeans集群NLP python
  6. main函数中的argc和argv是什么意思?
  7. kindeditor上传本地图片的问题
  8. Ubuntu启动错误——Kernel panic - not syncing VFS unable to mount root fs on unknown-block 0 0
  9. Sql Server 2008 R2 清理内存的三种方法
  10. 计算字符串的距离(编辑距离)