このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1320365280/344
#  [1] 授業単元: プログラミング基礎 
#  [2] 問題文(含コード&リンク): 3問 http://ime.nu/ideone.com/kXOZ8 
#  
#  1)帰納を使い、フィボナッチ数を表示するプログラミングを作れ。
#  例 0,1,1,2,3,5,8,13...
#   
#  2)帰納を使い、インプットした数字nが偶数の場合は、
#  1*3*5*7...n の計算式を行いその答えを表示するプログラミングを作れ。
#  ただし、nが奇数の場合は、-1と表示させる。
#   
#  3)帰納を使い、最大公約数を求めよ。


'帰納を使い、インプットした数字nが奇数の場合は、1*3*5*7...n の計算式を行いその答えを表示するプログラミングを作れ。ただし、nが偶数の場合は、-1と表示させる。'(_n,-1) :-
        偶数(_n).
'帰納を使い、インプットした数字nが奇数の場合は、1*3*5*7...n の計算式を行いその答えを表示するプログラミングを作れ。ただし、nが偶数の場合は、-1と表示させる。'(_n,_答え) :-
        奇数(_n),
        '帰納を使い、インプットした数字nが奇数の場合は、1*3*5*7...n の計算式を行いその答えを'(1,_n,1,_答え).


'帰納を使い、インプットした数字nが奇数の場合は、1*3*5*7...n の計算式を行いその答えを表示する'(_n,_n,_答え,_答え) :-
        表示する('%t\n',[_答え]),!.
'帰納を使い、インプットした数字nが奇数の場合は、1*3*5*7...n の計算式を行いその答えを表示する'(N,_n,S1,_答え) :-
        'N_1に2を加えてN_2とした上で、N_2とM_1を掛けてM_2とする'(N_1,M_1,N_2,M_2),
        '帰納を使い、インプットした数字nが奇数の場合は、1*3*5*7...n の計算式を行いその答えを表示する'(N_2,_n,S2,_答え).


'N_1に2を加えてN_2とした上で、N_2とM_1を掛けてM_2とする'(N_1,M_1,N_2,M_2) :-
        N_2 is N_1 + 2,
        M_2 is M_1 * N_2.


偶数(_偶数) :-
        0 is _偶数 mod 2.

奇数(_奇数) :-
        1 is _奇数 mod 2.