%% 知識情報処理実習 r11の練習問題 解答例 % 基本プログラムコース q5(a,1). q5(b,0). q5(t(L,T),N) :- q5(L,N0), q5(T,N1), N is N0+N1. q5(t(L,T1,T2),N) :- q5(L,N0), q5(T1,N1), q5(T2,N2), N is N0+N1+N2. q5(K) :- q5( t(a,t(a,b,a),t(a,b)), K ). % 応用プログラムコース % 1. same_elements([A|L]) :- same_e(A,L). same_e(_,[]). same_e(A,[A|L]) :- same_e(A,L). test11_1_1 :- same_elements([a,a,a]). test11_1_2 :- same_elements([a,b,a]). % 2. increase([]). increase([_]). increase([X,Y|Z]) :- X =< Y, increase([Y|Z]). test11_2_1 :- increase([1,3,6]). test11_2_2 :- increase([1,6,3]).