当前位置: 代码迷 >> C语言 >> [求助]求1+2!+3!+.......+10!的和
  详细解决方案

[求助]求1+2!+3!+.......+10!的和

热度:196   发布时间:2007-06-19 21:29:50.0

这个题很好


----------------解决方案--------------------------------------------------------
这个题很简单
----------------解决方案--------------------------------------------------------

#include<stdio.h>
void main()
{
long int s=0;

for(int i=1;i<=10;i++)
{

int t=1;
for(int j=1;j<=i;j++)
t*=j;
s+=t;
}
printf("%d",s);
}


----------------解决方案--------------------------------------------------------
相对来说简单些
----------------解决方案--------------------------------------------------------
如果是1!+2!+......1000!,就存在溢出的问题,这该如何解决呢
----------------解决方案--------------------------------------------------------
以下是引用棉花糖ONE在2007-6-20 21:11:39的发言:
如果是1!+2!+......1000!,就存在溢出的问题,这该如何解决呢

大数相乘总会有溢出的情况的,将其分段降权是其解决办法


----------------解决方案--------------------------------------------------------
9楼明显是错误的
for循环里的t在循环后没有清为1,
----------------解决方案--------------------------------------------------------
  相关解决方案