用C++如何编写阶乘的和1!+3!+5!+7!+9!?

关键是阶乘从1!变成3!,中间隔了两个,这个循环怎么搞?
2025-02-24 20:09:52
推荐回答(5个)
回答1:

1、我们先编写一个求阶乘的函数
2、然后再用for循环控制,累加输出。代码如下
#include
using namespace std;
//如果是C,上面两行换成#include"stdio.h",下面cout改printf
int fun(int n);

int main()
{
int sum=0,i;
for(i=1;i<=9;i+=2) //求S=1!+3!+……+9!
{
sum+=fun(i+1);
}
cout< return 0;
}

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

回答2:

//本程序已在VC6.0环境编译连接通过。

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

int main()
{
int sum=0,i;
for(i=1;i<=9;i+=2) //求S=1!+3!+……+9!
{
sum+=fun(i+1);
}
cout< return 0;
}

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

回答3:

加一个方法:

int fun(int n){/*如果int型s不够用,可以换成long型的*/
int i,s;
for(i=1;i<=n;i++)
s*=i;
return s;
}

int main(){
int i;
int s;/*如果int型s不够用,可以换成long型的*/
for(i=1;i<=9;i+=2)
s+=fun(i);
cout<return 0;
}

}

回答4:

#include
using std::cout;
using std::endl;

int main()
{
int sum=0,n=1,product=1;

for(int j=0;j<5;j++)
{
for(int i=1;i<=n;i++)
{
product*=i;
}
sum+=product;
n=n+2;
product=1;
}

cout << sum << endl;
return 0;
}

回答5:

很简单
单数1-9循环中调用阶乘函数 stam 他们的和加在一个数中
FOR(i=1;i<4;i++)
{
sum=stam(i)
}
阶乘函数你用书上的