4042 - b16 rec

From Bitnami MediaWiki
Revision as of 19:16, 16 March 2023 by Cata (talk | contribs) (Pagină nouă: == 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...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>