Quelques casse-têtes
Consignes :
- Coder la stratégie générer puis tester en Prolog.
- Coder la stratégie générer partiellement et tester dès que possible en Prolog.
- Coder la stratégie contraindre puis instancier en programmation logique avec contraintes
domaines finis.
Utiliser le prédicat prédéfini time/1
pour comparer les temps d'exécution.
send+more=money
Résoudre le puzzle crypto-arithmétique send + more = money où :
- on remplace chaque occurrence des lettres s,e,n,d,m,o,r,y par un même chiffre entre 0 et 9,
- à deux lettres distinctes sont associées deux chiffres différents,
- les chiffres associées à s et m sont non-nuls,
- l'addition tombe juste.
Idem pour one+two+five=eight.
Chiffres
Trouver tous les entiers à 9 chiffres
c1c2c3c4c5c6c7c8c9
en base 10 tels que :
- chacun des ci soit différent de 0,
- les ci soient tous distincts entre eux,
- pour tout n entre 1 et 9, le nombre composé des n premiers chiffres soit divisible par n.
Les n-reines
Résoudre le problème des n-reines. Vérifier que pour n=8, il y a 92 solutions.
Ensembles corrects
Quand on se donne un ensemble de n entiers, on peut calculer 2n sommes avec ses éléments.
Par convention, la somme des éléments de l'ensemble vide est 0.
On appelle ensemble correct un ensemble d'entiers tel que toutes les sommes possibles soient différentes. Par exemple, il y a deux ensembles corrects de 3 entiers inférieurs ou égaux
à 4: {1,2,4} et {2,3,4}.
Trouver tous les ensembles corrects de 4 entiers inférieurs ou égaux à 7.
Trouver tous les ensembles corrects de 5 entiers inférieurs ou égaux à 13.
Trouver tous les ensembles corrects de 6 entiers inférieurs ou égaux à 24.
Fred Mesnard