Quants dígits adjacents iguals? P85908


Statement
 

pdf   zip   main.cc

thehtml

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 0 ≤ n ≤ 108 i 2 ≤ b ≤ 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++