zbir(B1,B2,S):-obrni(B1,O1),obrni(B2,O2),saberi(O1,O2,O),obrni(O,S). saberi([],L,L). saberi(L,[],L). saberi([G|R],[X|Y],[G1|L]):-G1isG+X,G1<10,saberi(R,Y,L). saberi([G|R],[X|Y],[ost|L]):-ost is G+X-10,dodaj(R,Rd),saberi(R1,Y,L). obrni([],[]). obrni([G|R],L):-obrni(R,L1),dodati(L1,[G,L]). dodati([],L,L). dodati([G|R],L,[G|Y]):-dodati(R,L,Y). dodaj_1([],[1]). dodaj_1([G|R],[X|R]):-X is G+1,X<10. dodaj_1([G|R],[O|R]):-dodaj_1(R,R1). /* Poziva se sa: zbir(PrvaL, DrugaL, ZbiL). */