/* Napisati PROLOG predikat koji realizuje kruzno pomjeranje (siftovanje) zadate liste za N mjesta udesno. N tj. broj za koliko mjesta se pomjera je tako|e argumenat predikata. */ duzina([],0). duzina([G|R],D):-duzina(R,D1),D is D1+1. shift(N,L,L3):- duzina(L,D), S is N mod D, C is D-S, podeli(L,C,L1,L2), dodati(L2,L1,L3). dodati([],L,L). dodati([G|R],L,[G|R1]):-dodati(R,L,R1). podeli(L,0,[],L). podeli([G|R],C,[G|R1],R2):-K is C-1, podeli(R,K,R1,R2). program1993113:-write('Unesi listu:'),nl,read(L), write('Unesi za koliko pozicija se izvrsava shift:'), nl,read(N), shift(N,L,L3), write('Rezultat je:'),write(L3).