% 宿題:
http://pc12.2ch.net/test/read.cgi/tech/1153585095/38 % 言語: Prolog (IF/Prolog)
% 述語: modulus38/0, modulus38/3, get_integers/1
modulus38 :-
write('数字列を入力してください:'),
get_integers(L),
modulus38(L,[],X),
write_formatted('残った数字は: %t です\n',[X]).
modulus38([X],[],X).
modulus38([_],Y,X) :-
modulus38(Y,[],X).
modulus38([A,B|R1],Y,X) :-
C is (A+B) mod 10,
modulus38([B|R1],[C|Y],X).
get_integers(L) :-
findall(U,(repeat,get_code(C),(C==10,!,fail;U is C-48)),L).