黑马程序员技术交流社区

标题: 两种方法实现n的阶乘 [打印本页]

作者: 261406938    时间: 2015-4-15 00:39
标题: 两种方法实现n的阶乘
/*
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
*/
#include <stdio.h>
//常规实现n的阶乘
//int jieCheng(int a)
//{
//    int sum = 1;
//    for (int i = 1; i<=a; i++) {
//        sum = sum*i;
//    }
//    return sum;
//}

//递归实现n的阶乘
int jieCheng(int a)
{
    int sum;
    if(a==1)
        sum=1;
    else
        sum=a*jieCheng(a-1);
    return sum;
}

void pieAdd(int n)
{
    int sum=0;
    for(int i = 1;i<=n;i++)
    {
        sum=sum+jieCheng(i);
    }
    printf("%d\n",sum);
}
int main(int argc, const char * argv[]) {


    int t;
    printf("请输入:");
    scanf("%d",&t);
    pieAdd(t);
    return 0;   
}
自己运行了下 没发现问题,大神看看有问题没;P


作者: 花短裤的夏天    时间: 2015-4-15 00:41
路过一下 , 大神解决吧
作者: Theshy    时间: 2015-4-15 00:43
这一看 多高大上~~  
作者: 大白菜cabbage    时间: 2015-4-15 00:48
今天分给完了,下次再给....
作者: 261406938    时间: 2015-4-15 00:48
Theshy 发表于 2015-4-15 00:43
这一看 多高大上~~

谢谢 你真是个好人;P
作者: 261406938    时间: 2015-4-15 00:58
大白菜cabbage 发表于 2015-4-15 00:48
今天分给完了,下次再给....

:'(我下次是不是要早点啊
作者: Ios_bawenlong    时间: 2015-4-15 01:03
原来我发的帖子都在这里!
作者: 261406938    时间: 2015-4-15 01:05
Ios_bawenlong 发表于 2015-4-15 01:03
原来我发的帖子都在这里!

啊?你说啥呢
作者: Ios_bawenlong    时间: 2015-4-15 01:06
261406938 发表于 2015-4-15 01:05
啊?你说啥呢

我一直不知道我代码贴哪里了 - -,今天终于发现了!
作者: 261406938    时间: 2015-4-15 01:10
Ios_bawenlong 发表于 2015-4-15 01:06
我一直不知道我代码贴哪里了 - -,今天终于发现了!

啊?不会贴我这里了吧:L这可是我自己写的啊
作者: Ios_bawenlong    时间: 2015-4-15 01:18
261406938 发表于 2015-4-15 01:10
啊?不会贴我这里了吧这可是我自己写的啊

没,我只是找到了我这几天发的帖子而已- -
作者: Errors    时间: 2015-4-15 07:26
你确定这是n的阶乘,而不是n的阶乘的和。。。还有就是没有对非法值进行校验
作者: 诗华语    时间: 2015-4-15 07:30
小威你好!
作者: 261406938    时间: 2015-4-15 22:34
诗华语 发表于 2015-4-15 07:30
小威你好!

被发现了
作者: 逆流瞅瞅    时间: 2015-4-15 22:51
这个不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2