A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:
编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9

3 个回复

正序浏览
本帖最后由 游戏龙 于 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;

回复 使用道具 举报
没人吗,好难过
回复 使用道具 举报
这道题挺经典的,我知道的大概有三种思路吧
1. 双重嵌套循环
2. 递归调用
3. 有一个公式可以直接计算(如果知道的话我觉得这种方式是最好的)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马