Cambios de paridad entre dígitos

Dado un número natural nn y una base bb, calculad cuántas veces cambia la paridad (par ↔\leftrightarrow impar) entre dígitos consecutivos de nn cuando se expresa en base bb.

Por ejemplo, 472853 en base 10 tiene los dígitos 4 (par), 7 (impar), 2 (par), 8 (par), 5 (impar) y 3 (impar), y por tanto, hay 3 cambios de paridad entre dígitos consecutivos. En cambio, 31 en base 2 tiene todos los dígitos impares (31≡11111231\equiv 11111_2) y, por tanto, hay 0 cambios.

Escribid una función recursiva

    int cambios_paridad_digitos(int n, int b);

que calcule lo que se pide.

Precondición

Se cumple que 0≤n≤1080 \le n \le 10^8 y 2≤b≤10002 \le b \le 1000.

Observación

Sólo tenéis que enviar el procedimiento requerido; el programa principal será ignorado.

Observaciones

Información del problema

Autoría: Unknown
Traducción: Maria Blesa

Generación: 2026-01-25T10:29:21.408Z

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