回 帖 发 新 帖 刷新版面

主题:求助

求出1!+2!+3!+......+N!
N<=50

回复列表 (共13个回复)

沙发

#include"stdio.h"
main()
{
double s=0; int i,sum=1;
for(i=1;i<50;i++)
{
sum=sum*i;
s=s+sum;


}
printf("结果是:  %lf\n",s);
}
我用这个编出来的结果还是负的,我也不清楚为什么,希望有高手指点下!!谢谢






}

板凳

刚才我经过别人指点,正确的应该是这样!现在更正:
#include"stdio.h"
main()
{
double s=0,sum=1; int i;
for(i=1;i<=50;i++)
{
sum=sum*i;
s=s+sum;


}
printf("结果是:  %lf\n",s);
}

3 楼

此问题,已经有N<=50个人问过了;
此问题也有N<=50个帖子回答过了。

4 楼

s=1 t=1
for i = 2 to 50
t=t*i
s=s+t
next i
print s
end
因该是这样把.

5 楼


¥如此多矫;
引的无数人才竟折腰;

6 楼

是用高精度乘法做,不是普通方法?????

7 楼

按位切成数组

8 楼

4楼,N的!

DO
  INPUT N
LOOP UNTIL N<=50
FOR I=1 TO N
  S=S*I
  X=X+S
NEXT I
PRINT S

非常简单!

9 楼

未必呀![b]N<=50[/b]
应该是高精度呀!!

10 楼

input "n=";n
sum=0
a=1
for i=1 to n
a=a*i
sum=sum+a
next i 
print sum
end

经运行,绝对正确.
给我加30分  
[em12][em12][em12][em1][em1][em1]

我来回复

您尚未登录,请登录后再回复。点此登录或注册