黑马程序员技术交流社区

标题: 求解答啊,C语言里的,实在是没思路! [打印本页]

作者: 37°天黑    时间: 2015-4-7 22:22
标题: 求解答啊,C语言里的,实在是没思路!
题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9


作者: 流风124    时间: 2015-4-8 09:14
这道题挺经典的,我知道的大概有三种思路吧
1. 双重嵌套循环
2. 递归调用
3. 有一个公式可以直接计算(如果知道的话我觉得这种方式是最好的)
作者: 37°天黑    时间: 2015-4-8 22:06
没人吗,好难过
作者: 游戏龙    时间: 2015-4-8 23:06
本帖最后由 游戏龙 于 2015-4-8 23:30 编辑

我的思路说一下:   
int i = 0;
int n;
for(int x=1;x<=n;x++)
{
     int temp = 1;                   //存储阶乘的积
     for(int y=1;y<=x;y++)
     {
         temp *=y;                  //内循环实现阶乘
      }
     i += temp;                     //外循环实现积相加
     temp = 1;                      //置1,为下次内循环准备
}
return i;






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