1!+2!+3!+……+n!

来源:百度知道 编辑:UC知道 时间:2024/07/02 20:06:59
void main()
{ float s=0,t=1; int i=1,n;
prntf("^^^^^^^^");
scanf("%d",&n);
while(i<=n)
{
t*=i;
s+=t;
i++;
}
printf("^^^^",s);
}

其中求计算的详解?、跪谢了????
N!是什么意思!求和吗!

当i <n时,while( )为真,执行:
t*=i( 等价于t=t*i);
s+=t( 等价于s=s+t);
当i = 1时,
t=1*1 (t=1! ),s=0+1;
当i=2时
t=1*2=2!,s=1+2=1!+2! ;
i= 3 时
t=1*2*3 =3!,s=1!+2!+3!
……
……
当i=n时;
t=1*2*3*……*n=n!
s=1!+2!+3!+……+n! 也就是前n 项阶程的和,
当i>n时while为假 跳出循环。

额,N!是求阶层

N!=1*2*3*…*(N-2)*(N-1)*N=(N-1)!*N
比如1!=1
2!=1*2=1!*2=2
3!=1*2*3=2!*3=6
看上边那段程序
关键是要弄懂t保存的是什么
s保存的是阶层累加和的最终结果
t初始化为1
在循环内部
i从1开始,每次都与t相乘
然后i自加
n!=(n-1)!*n
对比一下这个公式不难看出来
s保存的就是i!

首先,N!是阶乘的意思,举个例子:
5!=5*4*3*2*1
因此,1!+2!+3!+……+n!就是求自然数1到n的阶乘的和。
程序是通过循环来实现的
s表示最后的结果,t*=i实现的是求阶乘,即n!;s+=t; 实现的是将每个自然数的阶乘相加,即为所求结果。

N!是指求N的阶乘
指所有数的阶乘加起来
例如5的阶乘
5!=1*2*3*4*5=120