F016A. Naturals a cadenes

Implementeu una funció

        string nat_a_cadena(int x, int n, int b);

que retorni una cadena de @n@ caràcters que representi el natural @x@ en
base @b@.

En el cas que el nombre @x@ en base @b@ no ocupi tots els @n@ caràcters,
cal omplir la cadena amb sostinguts per l’esquerra. En el cas que ocupi
més de @n@ caràcters, cal retornar una cadena amb @n@ asteriscos.
Representeu els dígits superiors a 9 amb ‘@A@’, ‘@B@’, …, ‘@F@’.

Observacions

- El programa principal ja se us dóna implementat; no el canvieu. Aquest
  llegeix triplets d’enters @x, n, b@ i escriu el resultat de la crida a
  la funció que heu d’implementar:

          int main() {
              int x, n, b;
              while (cin >> x >> n >> b) cout << nat_a_cadena(x, n, b) << endl;
          }

- Us suggerim definir i utilitzar una funció @int nombre_digits(int x,
  int b);@ que retorni el nombre de dígits del natural @x@ en base @b@.

- Recordeu que un string @s@ amb @n@ caràcters @c@ es pot declarar així:
  @string s(n, c);@

- Recordeu també que les operacions dels strings com ara @s += ’0’;@ o
  bé @s1 += s2;@ o bé @s = s1 + s2;@ estan prohibides.

Precondició

Es té que x ≥ 0, 2 ≤ b ≤ 16 i que n > 0.

Informació del problema

Autoria: Professorat de P1

Generació: 2026-01-25T10:07:21.298Z

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