386
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
neste un număr pozitiv cu cel mult7cifre2 ≤ 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