展开全部
1e9,long类型的应该可以满足,我不考虑溢出的问题,只给你一个思路吧
long sum=0,i,a=1;
for(i=1;sum<1e9;i++)
{
a*=i;
sum+=a;
}
这样i-1应该就是你所需要的那个数值
long sum=0,i,a=1;
for(i=1;sum<1e9;i++)
{
a*=i;
sum+=a;
}
这样i-1应该就是你所需要的那个数值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先来个自定义函数,功能是求n!。接着调用函数,相加就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-10
展开全部
#include<iostream>
using namespace std;
int main(void)
{
int factorial_sum = 2;
int factorial = 1;
int x = 0;
int m;
cin >> x;
for (int n = 2; n <= x; ++n)
{
for (m = 2; m <= n; ++m)
{
factorial *= m;
}
factorial_sum += factorial;
factorial = 1;
}
cout << factorial_sum << endl;
return 0;
}
using namespace std;
int main(void)
{
int factorial_sum = 2;
int factorial = 1;
int x = 0;
int m;
cin >> x;
for (int n = 2; n <= x; ++n)
{
for (m = 2; m <= n; ++m)
{
factorial *= m;
}
factorial_sum += factorial;
factorial = 1;
}
cout << factorial_sum << endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询