Advertisement
mvujas

(RESENJA) Zadaci programiranje 11/04/2016

Nov 4th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.08 KB | None | 0 0
  1. st10(N, 1):- N < 10.
  2. st10(N, R):- N > 9, N1 is N div 10, st10(N1, R1), R is R1 * 10.
  3.  
  4. /* Prvi */
  5. p2(N):- N mod 10 =:= 2.
  6. p2(N):- N > 0, N1 is N div 10, p2(N1).
  7.  
  8. /* Drugi */
  9. sqr(1, A, R):- R is A.
  10. sqr(N, A, R):- N > 1, N1 is N - 1, sqr(N1, A, R1), R is R1 * A.
  11.  
  12. /* Treci */
  13. z3(N, N):- N < 10, N mod 2 =:= 1.
  14. z3(N, R):- N < 10, R is N div 2.
  15. 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.
  16. 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).
  17.    
  18. /* Cetvrti */
  19. z4(N, N):- N < 10, N =\= 1.
  20. z4(N, R):- N > 9, N mod 10 =:= 1, N1 is N div 10, z4(N1, R).
  21. z4(N, R):- N > 9, N mod 10 =\= 1, N1 is N div 10, z4(N1, R1), R is (R1 * 10) + (N mod 10).
  22. z4(N, 0):- N < 10, N =:= 1.
  23.  
  24. /* Peti */
  25. inv(N, R):- N < 10, R is N.
  26. inv(N, R):- N > 9, st10(N, ST10), N1 is N mod ST10, inv(N1, R1), R is (R1 * 10) + (N div ST10).
  27.  
  28. /* Peti optimalan */
  29. inverz(N, I):- inverz(N, I, 0).
  30. inverz(N, I, A):- N > 0, N1 is N mod 10, A1 is A * 10 + N1,
  31.     N2 is N div 10, inverz(N2, I, A1).
  32. inverz(0, A, A).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement