%%   知識情報処理実習 r2練習問題 解答例

% (1)
a(0,5).
a(N,M) :- N1 is N-1, a(N1,M1), M is 2*M1+3.
       
test1_1(Y) :- a(10,Y).

% (2)
pow2(0,1).
pow2(X,Y) :- X1 is X-1, pow2(X1,Y1), Y is 2*Y1.

test2_1(Y) :- pow2(5,Y).

% (3)
%rem3(0,0). べた書する場合 X<3 のかわりにこの3行になる
%rem3(1,1).
%rem3(2,2).
rem3(X,X) :- X<3.
rem3(X,Z) :- X1 is X-3, rem3(X1,Z).

test2_3(Z) :- rem3(5,Z).