Newsgroup: it.hobby.enigmi
Titolo: Criptocalcolo

Ciao a tutti,
un numero di due cifre AB viene moltiplicato per un numero ad una cifra C, 
dando luogo al prodotto DE.
Sommando quest'ultimo al numero di due cifre FG, si ottiene il numero HI.
Sapendo che ogni lettera corrisponde ad una cifra compresa tra 1 e 9 (zero 
escluso), che numero � HI?
Francesco 
 
 
 
--- news://
freenews.netfront.net/
 - complaints: 
ne...@netfront.net
 ---

 escluso), che numero ï¿½ HI?
 
s
 
p
 
o
 
i
 
l
 
e
 
r
 
 
 
 
 
HI e` 93
 
Ciao,
Marco
 
--
docente.unife.it/marco.gavanelli
 

 Francesco
 
Non so quale ï¿œ la prassi qui, a me pare che il metodo sia piï¿œ importante 
della soluzione.
Per esempio, potrei procedere per forza bruta. Ci sono solo 9*8*7 modi 
di scegliere AB e C; tengo buoni solo quelli che mi danno come risultato 
un DE compatibile con il problema e procedo con la scelta di FG 
verificando HI. La difficoltï¿œ col computer ï¿œ solo quella - relativa - di 
stendere il programma.
Ovviamente la ricerca si puï¿œ ottimizzare. Per esempio, C non puï¿œ essere 
1, perchï¿œ AB sarebbe identico a DE. Quindi C ï¿œ al minimo 2. E, di 
conseguenza, AB al massimo 49, cioï¿œ A ï¿œ al massimo 4.
Ho ristretto le 9*8*7 possibilitï¿œ iniziali a circa un terzo. Potrei 
andare avanti considerando che se A ï¿œ 4 C deve essere 2, se A ï¿œ 3 C puï¿œ 
essere al massimo 3, e cosï¿œ via.
Devo andare avanti su questa strada?
A me viene sempre la tentazione di usare il computer. :)

 essere al massimo 3, e cosï¿œ via.
 
se A ï¿œ 3 C puï¿œ essere al massimo 2, ovviamente. :)
 
 


Beh, a mio modo di vedere le cose, computer e forza bruta non sono la 
stessa cosa.
E` forza bruta se provo tutte le combinazioni, che sono attorno a 10!, 
ovvero dell'ordine dei 3 milioni (per il Criptocalcolo II)
 
Ma se uso metodi intelligenti per risolvere un problema, non e` forza 
bruta, anche se poi uso un computer.
Un po' come se chiedo: quanto fa 341978432742*43242384723?
Va bene, lo potremmo fare a mano, ma ha senso?
 
Io per risolvere il problema ho usato la programmazione a vincoli, il 
che significa applicare proprio i ragionamenti che dici tu (C non puo` 
essere 1, ecc.), ma invece di farlo io con carta e penna lo faccio fare 
al computer. Poi, quando non riesce piu` a dedurre nulla, esplora un 
albero di ricerca, in cui in ogni ramo rifa` la propagazione (cioe` di 
nuovo fa le inferenze che proponi anche tu).
Il risultato e` che il numero di nodi che vengono esplorati sono un 
numero trascurabile rispetto ai 3 milioni; nel caso di questo problema 
ne ha esplorati 163, quindi meno dello 0.4 per mille dei nodi 
potenziali. Questo, secondo me, mostra l'intelligenza del metodo.
 
Il programma che ho usato e` questo:
 
cripto2(L):-
	L=[A,B,C,D,E,F,G,H,I,J],
	L :: 0..9,
	[C,E,J] :: [1,3,5,7,9],
	alldifferent(L),
	(100*A+10*B+C)*(10*D+E) #= (10000*F+1000*G+100*H+10*I+J),
	search(L,0,first_fail,indomain_max,complete,[backtrack(N)]).
 
gira su ECLiPSe CLP:
 
http://eclipseclp.org/
 
 
Ciao,
Marco
 
--
http://docente.unife.it/marco.gavanelli
 

 A me viene sempre la tentazione di usare il computer. :)
 
Ciao,
be' in parte hai ragione, la tentazione di usare un programmino � tanta.
Perch� in effetti ha ragione anche Marco Gavanelli quando si chiede che 
senso abbia eseguire una moltiplicazione complicata con carta e penna quando 
c'� la calcolatrice che risolve in un attimo.
Tieni presente che questo primo criptocalcolo � del grande Henry Dudeney.
Perci� � "nato" senza l'ausilio di calcolatori o calcolatrici di sorta.
E evidentemente fu verificato anche nella sua unicit� della soluzione...
 
[NB: Dudeney era appassionato anche ad un gioco simile, quello 
dell'"aritmetica verbale".
Celebre il suo SEND+MORE=MONEY dove a lettera uguale corrisponde numero 
uguale.]
 
Martin Gardner l'aveva poi rilanciato su Scientific American, e quindi nel 
vol. 5 di "Enigmi e giochi matematici" (Sansoni, 1976, pag.67), che mi � 
capitato tra le mani in questi giorni, assieme ad un altro criptocalcolo ben 
pi� difficile. Dei quali Gardner si stupisce dicendo che 53 lettori hanno 
trovato la soluzione con carta e penna, cosa che non credeva possibile 
(specificando anche che solo alcuni avevano implementato un programma "per 
calcolatore" che ne verificasse l'unicit� della soluzione).
 
Il secondo criptocalcolo l'ho invece ideato io (oddio forse l'aveva gi� 
trovato qualcun altro prima, non saprei)
Mi son posto il problema cos�, perch� mi piace ispirarmi e reinventare 
questi giochi "classici" magari per� originali nel loro ambito.
Ci sono una valanga di giochi similari che utilizzano tutte le nove o dieci 
cifre.
Il pi� celebre � quello del grande Nob Yoshigahara:
A / BC + D / EF + G / HI = 1
dove tutte le lettere corrispondono a una cifra da 1 a 9.
Da un certo punto di vista, questi giochi "pandigitali" sono i precursori 
del Sudoku...
 
[NB: Si dice che Donald Knuth (l'autore della celebre Arte della 
programmazione) rimase cos� affascinato da questo enigma, che quando giunse 
in Giappone per il Kyoto Prize disse di preferire un incontro con Nob 
Yoshigahara piuttosto che con l'imperatore!]
 
Ovviamente, per trovare il mio criptocalcolo ho scritto a mia volta un 
programmino.
Ero spronato dal fatto che non sapevo se esistessero delle soluzioni, quindi 
la cosa mi ha preso bene...
(Alla fine c'erano 8 soluzioni, di cui solo una con il prodotto dispari, 
quindi il problema si riesce a porre senza aggiungere nessuna cifra d'aiuto 
;))
Per� credo che senza programma si riesce comunque, ma � chiaro che oggi come 
oggi queste sfide vengono lanciate sopratuttto per chi vuole divagare e 
scrivere qualche riga di codice con un obiettivo tra il ludico e il 
didattico, e giusto per divertimento...
