fbpx

Problema #1270 – b16 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă un număr natural în baza 16. Să se transforme acest număr în baza 10.

Date de intrare

Programul citește de la tastatură numărul n în baza 16.

Date de ieșire

Programul va afișa pe ecran numărul n transformat în baza 10.

Restricții și precizări

  • reprezentarea în baza 10 a numărului dat este mai mică decât 2.000.000.000
  • Cifrele în baza 16 sunt : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Exemplu

  • Intrare
100
  • Ieșire
256
#include <bits/stdc++.h>

using namespace std;

char a[260];
long long int n, s, x = 1, nr;

int main()
{
    cin >> a;
    n = strlen(a);
    for (int i = n - 1; i >= 0 ; i--)
    {
        if (a[i] >= '0' && a[i] <= '9')
            nr = a[i] - '0';
        else 
            nr = a[i] - 'A' + 10;
        s += x * nr;
        x = x * 16;
    }
    cout << s;
    return 0;
}
Comentarii

S-ar putea sa iti placa