用C++编写一个函数,使其能够求出n!,再求出1!+2!+3!+4!+5!。

2025-12-17 18:50:51
推荐回答(5个)
回答1:

#include

using namespace std;

int jiecheng(int n);

int main()

{

int s=jiecheng(1)+jiecheng(2)+jiecheng(3)+jiecheng(4)+jiecheng(5);

cout<

return 0;

}

int jiecheng(int n)

{

int s=1;

for(int i=1;i<=n;i++)

s=s*n;

return s;

}

回答2:

#include
using namespace std;
int fun(int n)
{
int s=1,sum=0,i=0;
if(n<20)
{
for(int i=1;i<=n;i++)
{
s*=i;
sum+=s;
}
cout< for(i=1;i {
cout< }
cout< }

else
cout<<"溢出"< return 0;
}
int main()
{
cout<<"请输入所求阶乘数:输入-1时结束"< int x;
while(x!=-1)
{
cin>>x;
fun(x);
}
return 0;
}

回答3:

#include
using namespace std;

//阶乘数会很大,当心越界,使用unsigned long类型
unsigned long f(int n)
{
if(n==0 || n==1)
return 1;
else
return f(n-1)*n;
}

//计算1!+2!...+n!
unsigned long cal(int n)
{
int i=0;
unsigned long result=0;
for(i=1;i<=n;i++)
{
result+=f(i);
}
return result;

}
int main()
{

cout< return 0;
}

应该是这样吧。O(∩_∩)O~ 给分啊。

回答4:

#include
using namespace std;
int compute(int n)//计算n!的值
{
if (n == 1)
return 1;
if (n>1)
return n*compute(n-1);
}

int computeLarge(int n)//求出1!+2!+3!+4!+5!
{
int result = 0;
for (int i = 1;i <= n;i++)
{
result = result+compute(i);
}
return result;
}

int main(void)
{
int a;
cout<<"请输入一个正整数:"< cin>>a;
cout< cout< return 0;
}
//注意,输入的数字不要太大,

回答5:

#include
using namespace std;
long factorial(int n){
long a=1;
for(;0 return a;
}

int main(){
cout<< factorial(1)+factorial(2)+factorial(3)+factorial(4)+factorial(5);
return 0;
}