/* Rabbits problem in Picat. From Pascal Van Hentenryck "The OPL Optimization Programming Language", page 9. Model created by Hakan Kjellerstrand, hakank@gmail.com See also my Picat page: http://www.hakank.org/picat/ */ import cp. main => go. go => writeln(clp), N = 20, NbRabbits :: 0..N, NbPheasants :: 0..N, 20 #= NbRabbits + NbPheasants, 56 #= 4*NbRabbits + 2*NbPheasants, solve([],[NbRabbits,NbPheasants]), writeln(nbRabbits=NbRabbits), writeln(nbPheasants=NbPheasants), nl.