递归求奇数连乘的积,类似求阶乘,写出1*3*...*n的递归式,并编写出递归函数求解。
#include <iostream>
using namespace std;
long f(int);
long y;
int main()
{
cout<<"输入N的值:"<<endl;
int n;
cin>>n;
cout<<"N个连续奇数的积是"<<y<<endl;
return 0;
}
long f(int n)
{
long s;
if(n==1)
s=1;
else
s=f(n-1)*(2*n-1);
return s;
}
上面与题目不符
#include <iostream>
using namespace std;
long f(int);
long y;
int main()
{
cout<<"输入N的值:"<<endl;
int n;
cin>>n;
if(n%2!=0)
y=f(n);
else
y=f(n-1);
cout<<"N以内的奇数的积是"<<y<<endl;
return 0;
}
long f(int n)
{
long s;
if(n==1)
s=1;
else
s=f(n-2)*n;
return s;
}