Funció per als nombres xupiguais P56412


Statement
 

pdf   zip   main.cc

Sigui nn un nombre natural, sigui bb una base múltiple de dos, i sigui dm1dm2d1d0d_{m-1} d_{m-2} \ldots d_1 d_0 la representació de nn en base bb. En aquest problema, direm que nn és xupiguai en base bb si tots els seus dígits en posicions parelles (d0d_0, d2d_2, …) són més grans o iguals que b/2b/2, i tots els seus dígits en posicions senars són més petits que b/2b/2.

Per exemple, 50 és xupiguai en base 4, perquè s’expressa com 302. En canvi, 49 no és xupiguai en base 4, perquè s’expressa com 301. Però 49 sí que és xupiguai en base 10. Com exemple final, 59 no és xupiguai en base 10.

Escriviu una funció recursiva

    bool es_xupiguai(int n, int b);

que digui si @n@ és o no xupiguai en base @b@.

Precondició

Es compleix @n@ 1\ge 1, 22 \le @b@ 1000\le 1000, i que @b@ és parell.

Observació

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

Observació

No podeu usar cap procediment auxiliar. Qualsevol solució que no sigui recursiva tindrà un zero de qualificació.

Public test cases
  • Input/Output

    es_xupiguai(50, 4) → 1
    es_xupiguai(49, 4) → 0
    es_xupiguai(49, 10) → 1
    es_xupiguai(59, 10) → 0
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++