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  ⇒  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

        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
