Canvis de paritat entre dígits

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

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 (3111111231\equiv 11111_2) 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 0n1080 \le n \le 10^8 i 2b10002 \le b \le 1000.

Observació

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

Observacions

Informació del problema

Autoria: Maria Blesa

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

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