La distància de Hamming entre dos naturals es defineix com el nombre de posicions en les que tenen dígits diferents. Per exemple, la distància de Hamming entre 70075 i 774 és 3:
7 0 0 7 5 | ||
7 0 7 7 4 | ⇒ | hi ha 3 diferències |
Feu un programa que llegeixi parells de naturals i escrigui la seva distància de Hamming juntament amb la suma dels dígits de les posicions amb dígits diferents. A l’exemple, la suma és (7 + 0) + (0 + 7) + (5 + 4) = 23.
El vostre programa ha d’implementar i utilitzar l’acció recursiva
que, donats dos naturals |a| i |b|, deixa al paràmetre de sortida |dist| la seva distància de Hamming, i deixa al paràmetre de sortida |sum| la suma dels dígits de les posicions amb dígits diferents.
Entrada
L’entrada és una seqüència de parells de naturals.
Sortida
Per a cada parell de l’entrada, cal escriure la seva distància de Hamming i la suma dels dígits de les posicions amb dígits diferents en una línia a part.
Observació
Recordeu implementar |calcula()| recursivament. Aquesta acció no pot contenir bucles, ni cridar altres procediments.
Input
70075 774 774 70075 0 99999 100000 0 0 0 1234567 2345678
Output
3 23 3 23 5 45 1 1 0 0 7 63