Să se genereze toate numerele naturale a căror reprezentare în baza q are exact k cifre; q şi k se introduc de la tastatură şi q =[2, 9]. nu vreau sa folosim functii si variabilele sa fie de tip intreg 11
#include <iostream>
using namespace std;
int main() {
int q, k;
cin >> q >> k;
for (int i = 0; i < q; i++) {
int nr = i;
for (int j = 1; j < k; j++) {
nr = nr * q + i;
}
cout << nr << ” „;
}
cout << endl;
return 0;
}
Pentru a genera toate numerele naturale cu k cifre în baza q, putem folosi două bucle for, una pentru a itera prin cifrele numărului (de la cea mai semnificativă la cea mai puțin semnificativă) și una pentru a itera prin valorile posibile ale fiecărei cifre (de la 0 la q-1).
În fiecare iterație a primei bucle, vom construi numărul curent prin adăugarea la el a cifrei corespunzătoare, multiplicată cu puterea corespunzătoare a lui q.
Exemplu: Pentru q=3 și k=4, primul număr generat va fi 1000 (cel mai semnificativ cifra fiind 1, celelalte fiind 0), urmat de 1001, 1002, 1010, 1011, 1012, 1020, 1021, 1022, 1100, etc.