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 (3111111231\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 0n1080 \le n \le 10^8 y 2b10002 \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