Problema a fost propusa de Zoltan Szabo, care a primit punctajul aferent acesteia (10 puncte). Multumim pentru propunere!
Soluţii corecte: Traian Dajma, Ady Nicolae, Simona Bratu, Ioan Scutaru, Emil Claudiu Man, Traian Dajma, Viorel Manta, Angela Sandu (cu diacritice), Alexandru Cohal, Stefan Gatachiu, Cristian Daniel Balanoiu.
Simona Bratu:
Din A+U corespunde A => U = 0
Din R+A corespunde N si A+R corespunde I si N<> I rezulta ca R+A >= 10 , astfel incat sa am cifra de transport. Deci R+A = 10 + N si A+R +1 = 10+ I => I = N+1.
Din M+ 0 corespunde F si M<> F rezulta ca am cifra de transport anterioara, deci:F = M+1 si O+G+1 =10+A.
Iau pe rand valorile posibile pentru N.
Daca N=1 => I = N+1 = 2 => A+R = 11 => (A,R) € { (3,8), (8,3), (4,7), (7,4), (5, 6), (6,5) }
Deci am gasit doua solutii:
Am analizat si restul valorilor pentru N, dar nu am mai gasit alta solutie.
Alexandru Cohal:
Putem rezolva problema folosind un algoritm de tip Backtracking care atribuie o cifră distinctă fiecărei litere folosită în adunare (M, O, A, R, G, U, F, I, N) și care verifică dacă adunarea este respectată. Se poate optimiza algoritmul observând că adunarea cifrelor cele mai puțin semnificative este A + U = A, ceea ce înseamnă că U trebuie să fie egal cu 0, micșorând astfel numărul de iterații.
Două soluții au fost găsite:
Stefan Gatachiu:
Avem U = 0.
Trebuie ca .
R nu poate fi 9, oricare ar fi A. Într-adevăr, dacă R = 9 și A =1 atunci N = 0, fals.
Dacă A > 1, atunci I = A, fals.
Deci
Avem I = N +1, F = M + 1, O + G + 1>10.
O sau G nu pot fi 9, deoarece ar rezulta A = O sau A = G.
Cu aceste observații am considerat valorile lui A începând de la 3. Valoarea pentru care se obține o adunare corectă este A = 6.
38656+
7560
46216
Se observă că schimbând valorile lui O și G se obține altă soluție.
37656+
8560
46216
Angela Sandu (cu diacritice A, Ă)
85131+6340=91471
87313+6140=93453