栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PTA 6-10 递归求阶乘和 (10分)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PTA 6-10 递归求阶乘和 (10分)

PTA 6-10 递归求阶乘和 (10分)

本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。

函数接口定义:
double fact( int n );
double factsum( int n );

函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。

裁判测试程序样例:
#include 

double fact( int n );
double factsum( int n );

int main()
{
    int n;

    scanf("%d",&n);
    printf("fact(%d) = %.0fn", n, fact(n));
    printf("sum = %.0fn", 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==0||n==1)
        return 1;
    else 
        return n * fact(n-1);
}

double factsum( int n )
{
    if( n == 0 ) 
        return 0 ;
    if( n == 1 ) 
        return 1 ;
    if( n >= 2 ) 
        return fact(n)+ factsum(n-1) ;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302823.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号