online: 2; azi: 1429; total: 51884 Manual clasa a ix a - Algoritmi - Algoritmi pentru conversii intre sisteme de numeratie

Manual clasa a IX a

Algoritmi

Algoritmi pentru conversii intre sisteme de numeratie

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
# 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.