Canvis de paritat entre dígits

Donat un natural n i una base b, calculeu quants cops canvia la paritat
(parell ↔ imparell) entre dígits consecutius d’n quan s’expressa en base
b.

Per exemple, 472853 en base 10 té els dígits 4 (parell), 7 (imparell), 2
(parell), 8 (parell), 5 (imparell) i 3 (imparell), i hi ha, per tant, 3
canvis de paritat entre dígits consecutius. En canvi, 31 en base 2 té
tots els dígits imparells (31 ≡ 11111₂) i, per tant, hi ha 0 canvis.

Escriviu una funció recursiva

        int canvis_paritat_digits(int n, int b);

que calculi el que es demana.

Precondició

Es compleix 0 ≤ n ≤ 10⁸ i 2 ≤ b ≤ 1000.

Observació

Només cal enviar el procediment demanat; el programa principal serà
ignorat.

Observacions

- Qualsevol solució que no sigui recursiva tindrà un zero de
  qualificació.

- No es poden usar vectors ni strings.

Informació del problema

Autoria: Maria Blesa

Generació: 2026-01-25T10:29:26.085Z

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