主题:[讨论]求这道题的答案
KOU123KOU
[专家分:0] 发布于 2008-08-06 09:10:00
求1的阶层+2的阶层......+N的阶层,怎么算?[em18]
回复列表 (共6个回复)
沙发
happyboy2007 [专家分:3900] 发布于 2008-08-06 13:24:00
void main()
{
long sum,jc = sum = 0;
int i,n,j=n=i=0;
printf("请输入N值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
jc = 1;
for(j=1;j<=i;j++)
{
jc *= j;
}
sum += jc;
}
printf("从1到%d的阶乘之和为%d\n",n,sum);
}
板凳
liudan319 [专家分:3780] 发布于 2008-08-07 00:25:00
1楼的,如果n=1000000呢?
3 楼
happyboy2007 [专家分:3900] 发布于 2008-08-07 08:35:00
在 VC 中 long 和 int 一样只占4字节,存储不了那么大的数值。
恐怕就要涉及数据结构的有关知识了。这个我就不懂了。请真正的高手解决一下吧。
4 楼
skalong [专家分:0] 发布于 2008-08-09 19:10:00
可以设置a[n](int n )(初始设置a[n]=0)
sum各个位数上的数字依次赋值给a[n]中的各个元组,
要打印sum,只要打印a[n](n=1,2...n-1)即可。
这样就可以解决数字太大,
不能存储的难题了。
5 楼
skalong [专家分:0] 发布于 2008-08-09 19:10:00
有兴趣的话,大家可以自己编写下。
我来回复