Aufgabe:
Code:
zahl1:[l,i,a,r]$
zahl2:[l,y,r,e]$
zahl3:[l,i,e,r]$
zahl4:[p,a,n,t,s]$
f4:[10^3,10^2,10^1,10^0]$
f5:[10^4,10^3,10^2,10^1,10^0]$
buchstaben:setify(flatten([zahl1,zahl2,zahl3,zahl4]));
gleichung:zahl1.f4+zahl2.f4+zahl3.f4=zahl4.f5;
ziffern:{0,1,2,3,4,5,6,7,8,9}$
gleichung:100*y+12*r+3000*l+200*i+11*e+10*a=10*t+s+10000*p+100*n+1000*a$
zaehler:0;
print(" # [a,e,i,l,n,p,r,s,t,y]")$
for a in ziffern do
for e in setdifference(ziffern,{a}) do
for i in setdifference(ziffern,{a,e}) do
for l in setdifference(ziffern,{0,a,e,i}) do
for n in setdifference(ziffern,{a,e,i,l}) do
for p in setdifference(ziffern,{0,a,e,i,l,n}) do
for r in setdifference(ziffern,{a,e,i,l,n,p}) do
for s in setdifference(ziffern,{a,e,i,l,n,p,r}) do
for t in setdifference(ziffern,{a,e,i,l,n,p,r,s}) do
for y in setdifference(ziffern,{a,e,i,l,n,p,r,s,t}) do
if ev(gleichung) then block(
ev(zaehler:zaehler+1),
print(zaehler,[a,e,i,l,n,p,r,s,t,y]));
Verschiedene Ausführungen:
wxMaxima:
Einfach den Code mit COPY&PASTE übernehmen und dann ausführen.
Anmerkung: In Windows dauert es länger als in Ubuntu oder Knoppix..
Vroomlab:
Man muss die Zeilenumbrüche mit „\“ markieren und „print“ durch „disp“ ersetzen. Dann läuft es sehr schnell.
Python:
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.