/* Ambiguous dates in Picat. From Martin Gardner "The Colossal Book of Short Puzzles and Problems": """ In this country, a date such as July 4, 1971, is often written 7/4/71, but in other countries, the month is given second and the same date is written 4/7/71. If you do not know which system is being used, how many dates in a year are ambiguous in this two-slash notation? """ There are 132 ambiguous dates, 11 for each month: [[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12], [2,1],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[2,11],[2,12], [3,1],[3,2],[3,4],[3,5],[3,6],[3,7],[3,8],[3,9],[3,10],[3,11],[3,12], [4,1],[4,2],[4,3],[4,5],[4,6],[4,7],[4,8],[4,9],[4,10],[4,11],[4,12], [5,1],[5,2],[5,3],[5,4],[5,6],[5,7],[5,8],[5,9],[5,10],[5,11],[5,12], [6,1],[6,2],[6,3],[6,4],[6,5],[6,7],[6,8],[6,9],[6,10],[6,11],[6,12], [7,1],[7,2],[7,3],[7,4],[7,5],[7,6],[7,8],[7,9],[7,10],[7,11],[7,12], [8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[8,7],[8,9],[8,10],[8,11],[8,12], [9,1],[9,2],[9,3],[9,4],[9,5],[9,6],[9,7],[9,8],[9,10],[9,11],[9,12], [10,1],[10,2],[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9],[10,11],[10,12], [11,1],[11,2],[11,3],[11,4],[11,5],[11,6],[11,7],[11,8],[11,9],[11,10],[11,12], [12,1],[12,2],[12,3],[12,4],[12,5],[12,6],[12,7],[12,8],[12,9],[12,10],[12,11]] len = 132 This model was created by Hakan Kjellerstrand, hakank@gmail.com See also my Picat page: http://www.hakank.org/picat/ */ import cp. main => go. go ?=> All = findall([Day,Month],ambiguous_dates(Day,Month)), println(all=All), println(len=All.len), nl. go => true. ambiguous_dates(Day,Month) => Day :: 1..12, Month :: 1..12, Day #!= Month, % if they are the same there's no ambiguity solve([Day,Month]).