Corrigé de l’exercice 3 du TP1 (2014-2015)

Un motard veut offrir une moto identique à chacune de ses petites amies. Le nombre représentant le coût de l’opération est, si l’on inverse tous les chiffres, celui qui représente le prix d’une seule moto. On sait par ailleurs que le motard en question a au moins deux petites amies, mais pas plus de huit. Le prix de la moto offerte se situant entre 10 000 et 99 999 euros, combien le motard a-t-il de petites amies et quel est le prix d’une moto ?

Le prédicat prédéfini between/3 est équivalent à la solution chiffre(X), avec différents faits (chiffre(0)., chiffre(1). …)

motard(N,Prix) :- between(1,9,C1),between(0,9,C2),between(0,9,C3),
   between(0,9,C4), between(0,9,C5),between(2,8,N),
   Prix is C1*10000+C2*1000+C3*100+C4*10+C5,
   N*Prix =:= C5*10000+C4*1000+C3*100+C2*10+C1.