prolog help

Kezdőlap Fórumok Programozás prolog help

1 / 1 bejegyzés megtekintése
  • Szerző
    Bejegyzés
  • #1873802
    milanos83
    Felhasználó

      az alábbi progi mûködését nem nagyon értem A check függvényt nem igazán értem, mert használja a not_on_diag_. Hogyan kell meghívni a check-et, hogy yes-t adjon, de persze nem a triviális eset érdekel. Köszi a segítséget.
      sel(X, [X|Y], Y).
      sel(U, [X|Y], [X|V]) :- sel(U,Y,V).

      safe([ ]).
      safe([X|Y]) :- check(X,Y), safe(Y).

      check(_,[ ]).
      check(P, [Q|R]) :-
      not_on_diag(P,Q), check(P,R).

      not_on_diag(p(X1,Y1),p(X2,Y2)) :-
      DX is X1-X2, DY is Y1-Y2,
      MDY is Y2-Y1, DX==DY, DX==MDY.

      queens(Rows, [Col|RestCols], Points):-
      sel(Row,Rows,RestRows),
      safe([p(Row,Col) | Points]),
      queens(RestRows,RestCols,
      [p(Row,Col) | Points]).

      queens( [ ], [ ], Points) :-
      print(‘Solution: ‘),print(Points),nl.

    1 / 1 bejegyzés megtekintése
    • Be kell jelentkezni a hozzászóláshoz.