主题:求助
9611
[专家分:30] 发布于 2006-11-18 17:38:00
求出1!+2!+3!+......+N!
N<=50
回复列表 (共13个回复)
沙发
时间挑战者 [专家分:100] 发布于 2006-11-18 20:16:00
#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);
}
我用这个编出来的结果还是负的,我也不清楚为什么,希望有高手指点下!!谢谢
}
板凳
时间挑战者 [专家分:100] 发布于 2006-11-18 22:08:00
刚才我经过别人指点,正确的应该是这样!现在更正:
#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 楼
老大徒伤悲 [专家分:29120] 发布于 2006-11-19 14:59:00
此问题,已经有N<=50个人问过了;
此问题也有N<=50个帖子回答过了。
4 楼
bolliens [专家分:10] 发布于 2006-11-23 16:55:00
s=1 t=1
for i = 2 to 50
t=t*i
s=s+t
next i
print s
end
因该是这样把.
5 楼
w1212q [专家分:660] 发布于 2006-11-29 14:54:00
¥如此多矫;
引的无数人才竟折腰;
6 楼
9611 [专家分:30] 发布于 2006-12-31 09:23:00
是用高精度乘法做,不是普通方法?????
7 楼
雪光风剑 [专家分:27190] 发布于 2006-12-31 13:37:00
按位切成数组
8 楼
小小傻瓜 [专家分:150] 发布于 2007-07-24 15:02:00
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 楼
Lovely哆啦 [专家分:1360] 发布于 2007-07-25 22:06:00
未必呀![b]N<=50[/b]
应该是高精度呀!!
10 楼
yaoyusheng [专家分:460] 发布于 2007-07-25 22:40:00
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]
我来回复