258
Cerința
Se dă n
un număr natural și un caracter c
, care poate fi b
, o
sau h
. Transformați numărul în baza dată de c
, astfel:
c | Baza |
---|---|
b | Bin |
o | Oct |
h | Hex |
Date de intrare
Programul citește de la tastatură numărul caracterul c
, iar apoi numărul n
.
Date de ieșire
Programul va afișa pe ecran valoarea cerută.
Restricții și precizări
- 1≤n<264;
- Cifrele cu valori mai mari decât
9
se vor scrie cu litere mari.
Exemplu
Intrare
b 5
Ieșire
101
Explicație
Numărul 5
în baza doi este scris 101
.
#include <bits/stdc++.h> using namespace std; int main() { long long int n; char ch; cin >> ch >> n; if(ch == 'b') { int v[1001]; int p = 0; while(n) { v[p] = n % 2; p++; n/=2; } for(int i = p - 1 ; i >= 0 ; --i) cout << v[i]; } else if(ch == 'o') { int v[1001]; int p = 0; while(n) { v[p] = n % 8; p++; n/=8; } for(int i = p - 1 ; i >= 0 ; --i) cout << v[i]; } else { char v[1001]; int p = 0; while(n) { if(n % 16 > 9) { int nr = n % 16 - 9; v[p] = (char) (nr + 'A' - 1); } else v[p] = (char) (n % 16 + '0'); p++; n/=16; } for(int i = p - 1 ; i >= 0 ; --i) cout << v[i]; } return 0; }
Comentarii