C语言中一个计算题1!+2!+3!+...+20!是什么意思,怎么写程序

必须要告诉我!是什么意思,这个题让求什么,本人分不多,如果正确答案本人追加30分

/* Note:Your choice is C IDE */
/*既然你的这问题中包含三问我就一个一个的回答:
1、n!(n为自然数)表示自然数n的阶乘,所谓的阶乘就是从1一直乘到n。如1!=1,2!=1X2,3!=1X2X3!如此类推,20!=1X2X3X4……20。
2、如果理解1条了,我想这也算多余了。就是求1+1X2+1X2X3+1X2X3X4+……+1X2X3X……20.
3、编程方法:*/
double fun(int x)//由于所求数很大,所以要用双精度,否则出错
{
if (x == 1)
{
return 1;
}
else
{
return (double)(x*fun(x-1));
}
}
#include "stdio.h"
void main()
{
int i,n;
double sum=0;//双精度数
printf("请输入所求阶乘数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("所求阶乘和为sum=%lf",sum);//注意用双精度输出
}
//应该满足楼主要求了,不懂之处再问吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-28
"!"是阶乘的意思
比如:5! = 1*2*3*4*5

举例。。
1!+2!+3!+4!
= 1 + 1*2 + 1*2*3 + 1*2*3*4

那么1!+2!+3!+...+20!懂了么?

程序的话,您可以用递归
提示一个
5! 可以用这样的递归函数 sum = fun(5)

int fun(int x)
{
if (x == 1)
{
return 1;
}
else
{
return (x*fun(x-1));
}
}

那么求1!+2!+3!+...+20!的和,自己写吧~本回答被提问者采纳
第2个回答  2009-09-29
求1的阶乘加到20的阶乘的和。
long fun(int n)
{
if n=1
return 1;
else return n*fun(n-1);
}
main()
{
int i;
long sum=0;
for(i=1;i<=20;i++)
{
sum=sum+fun(i);
}
printf("%ld",sum);
}
这个题目我以前好像做过,好像用长整数就可以满足要求。
楼主自己运行一下吧。
第3个回答  2009-09-28
这是求1的阶乘加到20的阶乘
下面是代码:
#include <stdio.h>u>
void main()
{int s=0,i;
for(i=1;i<=20;i++)
s+=i*i;
printf("%d",s);
}
第4个回答  2009-09-28
求1的阶乘加到20的阶乘的合

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网