| |

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;

}

  1. Citim numerele n și q de la tastatură.
  2. Inițializăm variabila ok cu valoarea 1 (adevărat).
  3. Împărțim n la q și obținem restul r.
  4. 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.
  5. Împărțim n la q și actualizăm valoarea lui n cu rezultatul împărțirii.
  6. Verificăm dacă n este diferit de 0. Dacă da, trecem la pasul 3. Dacă nu, ieșim din buclă.
  7. 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.”.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *