Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
% criptoaritmetica.pl % Problemas de criptoaritmética con CLP(FD). % José A. Alonso Jiménez <https://jaalonso.github.io> % Sevilla, 31-mayo-2022 % ====================================================================== :- use_module(library(clpfd)). % solución([S,E,N,D],[M,O,R,E],[M,O,N,E,Y]) se verifica si cada una de % las letras se sustituye por un dígito distinto de forma que % SEND+MORE=MONEY. Por ejemplo, % ?- solución(L1,L2,L3). % L1 = [9,5,6,7], % L2 = [1,0,8,5], % L3 = [1,0,6,5,2] ; % false. % % ?- solución([S,E,N,D],[M,O,R,E],[M,O,N,E,Y]). % S = 9, % E = 5, % N = 6, % D = 7, % M = 1, % O = 0, % R = 8, % Y = 2 ; % false. solución([S,E,N,D],[M,O,R,E],[M,O,N,E,Y]) :- Vars = [S,E,N,D,M,O,R,Y], Vars ins 0..9, all_distinct(Vars), 1000*S+100*E+10*N+D + 1000*M+100*O+10*R+E #= 10000*M+1000*O+100*N+10*E+Y, M #\= 0, S #\= 0, label(Vars).