# PBinfo #4042 – b16_rec – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
char baza[]="0123456789ABCDEF";
void generare (unsigned int n , int p)
{
    if(n)
    {
       generare(n / 16 , p * 16); 
       cout << baza[n%16];
    }
}
int main()
{
    unsigned int n;
    cin >> n;
    generare(n,1);
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/4042)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/4042/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-4042/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
