Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- st10(N, 1):- N < 10.
- st10(N, R):- N > 9, N1 is N div 10, st10(N1, R1), R is R1 * 10.
- /* Prvi */
- p2(N):- N mod 10 =:= 2.
- p2(N):- N > 0, N1 is N div 10, p2(N1).
- /* Drugi */
- sqr(1, A, R):- R is A.
- sqr(N, A, R):- N > 1, N1 is N - 1, sqr(N1, A, R1), R is R1 * A.
- /* Treci */
- z3(N, N):- N < 10, N mod 2 =:= 1.
- z3(N, R):- N < 10, R is N div 2.
- z3(N, R):- N > 9, (N mod 10) mod 2 =:= 0, N1 is N div 10, z3(N1, R1), R is R1 * 10 + (N mod 10) div 2.
- z3(N, R):- N > 9, (N mod 10) mod 2 =:= 1, N1 is N div 10, z3(N1, R1), R is R1 * 10 + (N mod 10).
- /* Cetvrti */
- z4(N, N):- N < 10, N =\= 1.
- z4(N, R):- N > 9, N mod 10 =:= 1, N1 is N div 10, z4(N1, R).
- z4(N, R):- N > 9, N mod 10 =\= 1, N1 is N div 10, z4(N1, R1), R is (R1 * 10) + (N mod 10).
- z4(N, 0):- N < 10, N =:= 1.
- /* Peti */
- inv(N, R):- N < 10, R is N.
- inv(N, R):- N > 9, st10(N, ST10), N1 is N mod ST10, inv(N1, R1), R is (R1 * 10) + (N div ST10).
- /* Peti optimalan */
- inverz(N, I):- inverz(N, I, 0).
- inverz(N, I, A):- N > 0, N1 is N mod 10, A1 is A * 10 + N1,
- N2 is N div 10, inverz(N2, I, A1).
- inverz(0, A, A).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement