Se citesc de la tastatură un număr natural n şi un număr q, q =[2, 9]. Să se verifice dacă n poate fi considerat ca o reprezentare a unui număr în baza q. 2
#include <iostream>
using namespace std;
int main() {
int n, q;
cin >> n >> q;
int ok = 1;
while (n != 0) {
int r = n % q;
if (r >= q) {
ok = 0;
break;
}
n /= q;
}
if (ok) {
cout << „Numarul ” << n << ” este o reprezentare in baza ” << q << „.” << endl;
} else {
cout << „Numarul ” << n << ” nu este o reprezentare in baza ” << q << „.” << endl;
}
return 0;
}
- Citim numerele n și q de la tastatură.
- Inițializăm variabila ok cu valoarea 1 (adevărat).
- Împărțim n la q și obținem restul r.
- Verificăm dacă r este mai mare sau egal cu q. Dacă da, setăm variabila ok la 0 (fals) și ieșim din buclă. Dacă nu, trecem la pasul 5.
- Împărțim n la q și actualizăm valoarea lui n cu rezultatul împărțirii.
- Verificăm dacă n este diferit de 0. Dacă da, trecem la pasul 3. Dacă nu, ieșim din buclă.
- Verificăm valoarea variabilei ok. Dacă este 1, afișăm mesajul „Numărul n este o reprezentare în baza q.”. Dacă este 0, afișăm mesajul „Numărul n nu este o reprezentare în baza q.”.