| |

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.

Similar Posts

Lasă un răspuns

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