Advertisement
Guest User

Untitled

a guest
Dec 1st, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.85 KB | None | 0 0
  1. chars([a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]).
  2.  
  3. concats([], [], []).
  4. concats([X | Xs], [Y | Ys], [Z | Zs]) :-
  5.     atom_concat(X, Y, Z),
  6.     concats(Xs, Ys, Zs).
  7.  
  8. doconcat(0, _, SoFar, SoFar).
  9. doconcat(N, Cur, SoFar, Res) :-
  10.     N > 0,
  11.     N1 is N - 1,
  12.     chars(C),
  13.     concats(C, Cur, New),
  14.     append(SoFar, New, SoFar1),
  15.     doconcat(N1, New, SoFar1, Res).
  16.  
  17.  
  18. vars(0, []).
  19. vars(N, [V | L]) :-
  20.     N > 0,
  21.     chars(C),
  22.     random_member(V, C),
  23.     N1 is N - 1,
  24.     vars(N1, L).
  25.  
  26. nums(0, []).
  27. nums(N, [X | L]) :-
  28.     N > 0,
  29.     random_between(1, 10, X),
  30.     N1 is N - 1,
  31.     nums(N1, L).
  32.  
  33. allx(0, []).
  34. allx(N, [x | L]) :- N > 0, N1 is N - 1, allx(N1, L).
  35.  
  36. test2(N, L, M, R, Len, RLen) :- chars(C), doconcat(N, C, [], L), length(L, Len), nums(Len, M), solvelists(L, M, R), length(R, RLen).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement