Has de fer una funció recursiva tal que, donat un
enter n retorni un string que tingui la
representació d’n en base vingesimal (20). Aquesta és la
declaració de la funció:
/* Torna un string que té la representació d'n en base 20.
Només una solució recursiva. */
string base20(int n);
Només has d’enviar un fitxer que contingui la funció requerida, amb
els include necessaris i les funcions auxiliars que hauràs
declarat (si n’hi ha), i res més.
Només acceptarem una solució recursiva. Una solució no recursiva anul·larà l’exercici. Si cal, podeu fer servir funcions auxiliars no recursives, però el gruix del càlcul ha de ser en la funció recursiva.
Mira el joc de proves per veure com es representen els números a partir de 10 cap endavant.
Per a transformar un caràcter en un string es pot fer això:
char c = 'A';
string s = string(1,c); // 1 indica la mida de s (un sol caràcter)
o això:
char c = 'A';
string s;
s.push_back(c);
Enters més grans que zero.
Per a cada enter, la representació en base 20.
Input
1 9 10 11 14 15 16 17 18 19 20 21 22 23 29923
Output
1: 1 9: 9 10: A 11: B 14: E 15: F 16: G 17: H 18: I 19: J 20: 10 21: 11 22: 12 23: 13 29923: 3EG3