Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:prolog:pllib:riddle [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== Riddle ======
 +{{tag>​puzzle numbers}}
 +===== Description =====
 +Program solves riddle showed in riddle1.png.
 +
 +{{:​prolog:​pllib:​riddle1.png|}}
 +
 +Pod każdą z liter należy przypisać cyfre, tak aby równanie było prawdziwe.
 +
 +**Source**: ​ Wiedza i Życie nr 8/200
 +
 +
 +
 +===== Download =====
 +Program source code: {{riddle.pl}}
 +===== Listing =====
 +<code prolog>
 +
 +
 +perm([],​[]).
 +
 +
 +perm([H|T],​X) :-
 +
 +        perm(T,Y),
 +
 +        append(X1,​X2,​Y),​
 +
 +        append(X1,​[H|X2],​X).
 +
 +
 +wartosc([],​0).
 +
 +wartosc([N],​N).
 +
 +wartosc([H1,​H2|T],​N) :-
 +
 +        H3 is 10*H1+H2,
 +
 +        wartosc([H3|T],​N).
 +
 +
 +sumuj([],​X,​X).
 +
 +sumuj([H|T],​X,​Y) :-
 +
 +        wartosc(H,​N),​
 +
 +        X1 is X+N,
 +
 +        sumuj(T,​X1,​Y).
 +
 +sumuj(X,Y) :-
 +
 +        sumuj(X,​0,​Y).
 +
 +
 +main([A,​C,​E,​I,​L,​N,​S,​T,​W,​Z]) :-
 +
 +        perm([C,​E,​I,​S,​W],​[1,​3,​5,​7,​9]),​
 +
 +        perm([A,​L,​N,​T,​Z],​[0,​2,​4,​6,​8]),​
 +
 +        sumuj([ ​  ​[C,​Z,​A,​S],​
 +
 +                    [N,I,E],
 +
 +                  [L,A,T,A],
 +
 +                [W,​C,​A,​L,​E],​
 +
 +                    [A,L,E],
 +
 +                  [L,​E,​C,​I]],​X),​
 +
 +
 +        wartosc([S,​T,​A,​L,​E],​ X).
 +
 +</​code>​
 +
 +===== Comments =====
  
pl/prolog/pllib/riddle.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0