黑马程序员技术交流社区
标题:
阶乘和累加1!+2!+3!+...+n!
[打印本页]
作者:
小小羊
时间:
2015-6-22 21:21
标题:
阶乘和累加1!+2!+3!+...+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>
int main(int argc, const char * argv[]) {
int n;
printf("请输入一个数:\n");
scanf("%d",&n);
int pieAdd();
int result = pieAdd(n);
printf("%d\n",result);
return 0;
}
int pieAdd(int n){
int quo();
int sum = 0;
for (;n>0 ;n-- )
{
sum = sum + quo(n);
}
return sum;
}
int quo(int n){
int ji;
if (n==1) {
ji = 1;
}else{
ji = quo(n-1)*n;
}
return ji;
}
复制代码
作者:
皇道金丹
时间:
2015-6-22 21:30
沙发,这不是今晚的作业吗嘛?
作者:
小年轻不见了
时间:
2015-6-22 21:33
不错!!!!!
作者:
XiaoBaoMi
时间:
2015-6-22 21:34
楼主的方法不错 学习了
作者:
cxl19900517
时间:
2015-6-22 21:45
很好......
作者:
小小羊
时间:
2015-6-22 21:51
皇道金丹 发表于 2015-6-22 21:30
沙发,这不是今晚的作业吗嘛?
是啊,绕了好长时间
作者:
唐枫
时间:
2015-6-22 22:41
有价值的代码有奖哦
作者:
Dove丶凡
时间:
2015-6-22 22:46
你想说明什么。。。
作者:
李旭飞
时间:
2015-6-22 23:03
一个for循环的事你搞这么多.
int a,b,sum;
a=b=1;
for(int i;i<n;i++){
b*=a;
a++;
sum+=b;
}printf("%d",sum);
作者:
任志清-IOS
时间:
2015-6-22 23:26
楼上正解,不愧是我前桌。。。:lol
作者:
任志清-IOS
时间:
2015-6-22 23:27
突然想起一件事,题目的第一句话。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2