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

% 1.
double_num([],[]).
double_num([X|X1],[Y|Y1]) :- Y is 2*X, double_num(X1,Y1).

test3_1(L) :- double_num([1,2,3],L).

% 2.
sum_list([],0).
sum_list([X|Y],N) :- sum_list(Y,N1), N is N1+X.

test3_2(L) :- sum_list([1,2,3],L).

% 3.
even_list([],[]).
even_list([E|L1],[E|L2]) :- 0 is mod(E,2), even_list(L1,L2).
even_list([_|L1],L2) :- even_list(L1,L2).

test3_3(L) :- even_list([3,5,4,10,8],L).