# PBinfo #428 – transfb – Rezolvare C++

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

## Enunț

Cerinţa
Se citește un număr b, reprezentând o bază de numerație și apoi n numere naturale, reprezentând cifrele unui număr scris în baza b. Determinați transformarea acestui număr în baza 10.

Date de intrare
Programul citește de la tastatură numerele b n, iar apoi n numere naturale, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran numărul S, reprezentând valoarea cerută.

Restricţii şi precizări

2 ≤ b ≤ 9
1 ≤ n ≤ 10
cele n numere citite vor fi mai mici decât b

Exemplu:
Intrare

5 6
1 0 2 2 4 1
Ieșire

3446

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, b, temp1, temp2 = 0, temp3 = 1, S = 0;
    cin >> b >> n;
    while (temp2 < n - 1) {
        temp3 = temp3 * b;
        temp2++;
    } for (int i = 1; i <= n; i++) {
        cin >> temp1;
        S = S + temp1 * temp3;
        temp3 = temp3 / b;
    } cout << S;
    return 0;
}
```

## Resurse

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