4042 - b16 rec
Cerința
Se citeste un număr natural n în baza 10. Să se transforme acest număr în baza 16, folosind un subprogram recursiv.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran un șir de caractere reprezentând transformarea numărul n în baza 16.
Restricții și precizări
- Reprezentarea în baza 10 a numărului dat este un număr natural cel mult egal cu 4 294 967 295.
- Cifrele în baza 16 sunt : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Exemplu
Intrare
16712523
Ieșire
FF034B
Rezolvare
<syntaxhighlight lang="python"> def DecToHexRec(n):
if n < 16: if n < 10: return str(n) else: return chr(ord('A') + n - 10) else: q = n // 16 r = n % 16 if r < 10: return DecToHexRec(q) + str(r) else: return DecToHexRec(q) + chr(ord('A') + r - 10)
</syntaxhighlight>