6-3 递归求阶乘和 (15分)
发布日期:2022-02-17 09:51:25
浏览次数:7
分类:技术文章
本文共 900 字,大约阅读时间需要 3 分钟。
6-3 递归求阶乘和 (15分)
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。
函数接口定义:
double fact( int n );
double factsum( int n ); 函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:
#include <stdio.h>
double fact( int n );
double factsum( int n );int main()
{ int n; scanf("%d",&n); printf(“fact(%d) = %.0f\n”, n, fact(n)); printf(“sum = %.0f\n”, factsum(n)); return 0; }/* 你的代码将被嵌在这里 */
输入样例1:
10
输出样例1:
fact(10) = 3628800
sum = 4037913输入样例2:
0
输出样例2:
fact(0) = 1
sum = 0递归实现:
double fact( int n ){ if(n==1||n==0) return 1; else return n*fact(n-1);}double factsum( int n ){ int i,sum; for(i=1;i<=n;i++){ sum=sum+fact(i); } return sum;}
非递归实现:
double fact( int n ){ int i,s=1; if(n==0||n==1){ return 1; }else{ for(i=1;i<=n;i++){ s=s*i; } } return s;}double factsum( int n ){ int i,sum; for(i=1;i<=n;i++){ sum=sum+fact(i); } return sum;}
转载地址:https://blog.csdn.net/qq_43828852/article/details/106338326 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月23日 12时48分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析
2019-04-26
【Alljoyn】 Alljoyn学习笔记六 Alljoyn基本概念
2019-04-26
【Alljoyn】 Alljoyn学习笔记七 Alljoyn瘦客户端库介绍
2019-04-26
【Android】Activity生命周期
2019-04-26
【Android】Activity的四种launchMode
2019-04-26
【Android】Activity的task相关
2019-04-26
【Android】 Intent应用详解
2019-04-26
【Android】 Intent详解
2019-04-26
【Android】 常用的Intent
2019-04-26
Android中AsyncTask的简单用法
2019-04-26
【Android】 Android中Log调试详解
2019-04-26
【Android】Android中WIFI开发总结(二)
2019-04-26
【Android】Android之WiFi开发应用示例
2019-04-26
【Android】 Android adb常见问题整理
2019-04-26
【Android】 Android体系结构图
2019-04-26
【Android】 Android中spinner下拉列表的使用
2019-04-26
说说在 python 中,如何删除左右两边不需要的字符
2019-04-26
说说如何管理 Spring Boot 中的起步依赖
2019-04-26
说说如何在 Linux 中,新建账号
2019-04-26
说说如何在 linux 中搭建 FTP 服务
2019-04-26