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 .
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.
L’entrada és una seqüència de parells de naturals.
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.
Recordeu implementar |calcula()| recursivament. Aquesta acció no pot contenir bucles, ni cridar altres procediments.
Autoria: Professorat de P1
Generació: 2026-01-25T12:07:32.624Z
© Jutge.org, 2006–2026.
https://jutge.org