チェックするためにProlog述語を書く必要があります:
- 行のすべての行列要素が奇数の場合、プログラムは行の最後に追加する必要があり
1
ます。 - 行に1つ以上の偶数がある場合、プログラムは行の最後に追加する必要があり
0
ます。
?- f([[1,2,3],[5,5,5],[4,4,4]], Xss).
Xss = [[1,2,3,0],[5,5,5,1],[4,4,4,0]].
これは私が今持っているものです:
f([],[]).
f(matrix,Xss).
f([Xs|T],Xss):-
Xs=[X|T2],
(X mod 2 =:= 0 ->
add2end(0,[X|T2],[X|Result]):-
add2end(0,T2, Result),
add2end(0,[],[0]), Xss=[Xs|T] ;
add2end(1,[X|T2],[X|Result]):-
add2end(1,T2,Result),
add2end(1,[],[1])), Xss=[Xs|T]..