P0011. Distància de Hamming

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   7   4 \Rightarrow 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(7 + 0) + (0 + 7) + (5 + 4) = 23.

El vostre programa ha d’implementar i utilitzar l’acció recursiva

    void calcula(int a, int b, int& dist, int& sum);

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.

Informació del problema

Autoria: Professorat de P1

Generació: 2026-01-25T12:07:32.624Z

© Jutge.org, 2006–2026.
https://jutge.org