1-12-3-再帰的な方法で解く(1*3*5*......n)


問題およびコード:
/*
* Copyright (c) 2014,               
* All rights reserved.
*     :main.cpp
*       :   
*     :2014  11   17  
*      :v1.0
*
*     :  1*3*5*……n
*     :    a
*     :  a        
*/
#include <iostream>
using namespace std;
long fac(int);
int main()
{
    int a;
    cout<<"       :";
    cin>>a;
    if(a%2==0)  //                。
        cout<<"      ,       。";
    else
        cout<<fac(a)<<endl;
    return 0;
}
long fac(int n)
{
    int x;
    if(n==1)
        x=1;
    else
        x=n*fac(n-2);  //         ,   2  1  ,    a
    return x;
}

 
実行結果:
学習のまとめ:
前の項目と大同小異で,しばらく考えて再帰形式を構築した:n*(n−2),終了条件はn=1であった.