急~~~~~~T=1!+2!+...+100!编程

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:58:50
可能是我弄错了吧。。。明天考试的 加到10!是不是可以做啊~~~谢谢~~~~~

/*
强悍。。
你这个要求太高了,达到100!,这要多少位来保存啊。我觉得不太实际啊。
如果你真要这么做的话,你得自己再定义一个结构,能够保存超大的数。如果你用int和long,那都是无法满足的啦。

我懒得去写这样的结构,你自己再研究一下吧。至于求阶乘和的过程,我发一份自己写的代码你看看。你照那个思路去求就行了。简单地说,你只要把对应的数据类型替换成一个能保存超大数值的结构就行(请自己写吧,我没时间)。
*/

#include<iostream>
using namespace std;
//如果是C,上面两行换成#include"stdio.h",下面cout改printf
int fun(int n);

int main()
{
int sum=0,i;
for(i=0;i<8;i++) //求S=1!+2!+……+8!
{
sum+=fun(i+1);
}
cout<<sum<<endl;//如果C,改用printf("%d\n",sum)
return 0;
}

//下面是使用递归函数求n!
int fun(int n)
{
if(n==1)
return(1);
else
return(fun(n-1)*n);
}

一般的类型存不了这么大的数。