Quants dígits adjacents iguals? P85908


Statement
 

pdf   zip   main.cc

Donat un natural @n@ i una base @b@, calculeu quants dígits adjacents iguals té @n@ quan s’expressa en base @b@.

Per exemple, 7784447 en base 10 en té 3: Els dos primers 7s, el primer 4 amb el segon 4, i el segon 4 amb el tercer 4.

Com un altre exemple, 31 en base 2 en té 4, perquè 31 en binari és 11111.

Escriviu una funció recursiva

    int digits_adjacents_iguals(int n, int b);

que retorni el nombre de parells de dígits adjacents iguals d’@n@ quan s’expressa en base @b@.

Precondició

Es compleix 00 \le @n@ 108\le 10^8 i 22 \le @b@ 1000\le 1000.

Observació

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

Observació

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

Public test cases
  • Input/Output

    digits_adjacents_iguals(7784447, 10) → 3
    digits_adjacents_iguals(31, 10) → 0
    digits_adjacents_iguals(31, 2) → 4
    digits_adjacents_iguals(31, 4) → 1
    digits_adjacents_iguals(9999, 100) → 1
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    Spanish
    Official solutions
    C++
    User solutions
    C++