fbpx

Problema #2318 – Conversie_B_10 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau două numere n și b, unde b este o bază de numerație, iar n un număr reprezentat în baza b. Să se afișeze numărul obținut prin transformarea lui n din baza b în baza 10.

Date de intrare

Fișierul de intrare conversie_b_10.in conține pe prima linie numerele n și b, separate prin spații.

Date de ieșire

Fișierul de ieșire conversie_b_10.out va conține pe prima linie numărul nb, reprezentând transformarea lui n din baza b în baza 10

Restricții și precizări

  • n este un număr pozitiv cu cel mult 7 cifre
  • 2 ≤ b ≤ 10
  • datele de intrare sunt corecte

Exemplu

conversie_b_10.in

1101 2

conversie_b_10.out

13 

Explicație

13 reprezentat în baza 2 este 1101.

#include <bits/stdc++.h>
using namespace std;

ifstream cin("conversie_b_10.in");
ofstream cout("conversie_b_10.out");

int main()
{
    int n , b;
    cin >> n >> b;
    int nr=1;
    int a[10];
    int p = 0;
    while(n)
    {
        a[p]=n%10;
        n/=10;
        p++;
    }
    nr=a[p-1];
    for(int i = p-2 ; i >= 0 ; --i)
    {
        nr=nr*b+a[i];    
    }
    cout << nr;
    return 0;
}
Comentarii

S-ar putea sa iti placa