c++求1到100的数的阶乘的和

1!+2!+3!+……+100!=?

举例说明算法:

1!+2!+3!+……+n!

=1+2*(1+3*(1+4*(1+5(1+......(1+(n-1)*(1+n))......))))

   

不过当n=100貌似会溢出。嗯。

因此要实现一个大数乘法的函数,然后就很easy了

#include<stdio.h>
void main()
{
    long sum;
    int n=100;
    sum=n;
    while(n!=1)
    {
        sum+=1;
        sum*=n-1;//使用大数乘法函数替代这里的处理
        n--;
    }
    printf("%d\n",sum);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-08
#include <iostream>
using namespace std;
int main()
{
int i,j,s;
int sum=0;
for i=1,i<=100,i++
{
s=1
for j=1,j<=i,j++
{
s=s*j;
}
end
sum=sum+s;
}
edn
cout<< "1!+2!+3!+……+100!="<<sum
}
第2个回答  2013-05-07
这么大的数,先确定怎么保存.
C++没有数据类型能保存这么大的数字.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网