fbpx

Problema #945 – baze – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă un număr n scris în baza b. Să se afișeze scrierea acestuia în baza c.

Date de intrare

Programul citește de la tastatură numerele n, b și c separate prin spații.

Date de ieșire

Programul va afișa pe ecran scrierea numărului n în baza c.

Restricții și precizări

  • numărul n este natural si are cel mult nouă cifre
  • 2 ≤ b,c ≤10

Exemplu

Intrare

2013 4 7

Ieșire

252

Explicație

2013(4) se scrie 252(7)

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

int main()
{
    long long int n , b , c;
    cin >> n >> b >> c;
    long long 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];    
    }
    p=0;
    int v[100];
    while(nr)
    {
        v[p]=nr%c;
        nr/=c;
        p++;
    }
    for(int i = p-1 ; i >= 0 ; --i)
    cout << v[i];
    return 0;
}
Comentarii

S-ar putea sa iti placa