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 mult7
cifre2 ≤ 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; }