第13週は再帰の方法で奇数の連乗の積を求めます
1336 ワード
/*
* :
*Copyright(c)2013,
*All rights reserved.
* :
* :
* :2013 11 20
* :v0.1
* :
* :
* : 。
* :21
* :
* :
* :
*/
:
#include <iostream>
using namespace std;
long f(int); //
int main()
{
int n;
long y;
cout<<" :";
cin>>n;
y=f(n);
cout<<"1*3*5*...*"<<n<<"="<<y<<endl;
return 0;
}
long f(int n) //
{
long h;
if(n<0) // n
{
cout<<"n<0, :"<<endl;
}
else if(n==0)
h=0;
else if(n==1)
h=1;
else if(n>=2&&n%2==0) // n
cout<<"n , "<<endl;
else
h=f(n-2)*n; //
return h;
}
結果:
心得体得:大きな値を入力すると、出力が間違ってしまいます.なぜならlong(int)型には数値範囲があるからです.