Prelucrarea Cifrelor unui Număr, Oglindit, Palindrom – Programare în C++

942
vizionări
Prelucrarea Cifrelor unui Număr, Oglindit, Palindrom – Programare în C++
5 (100%) 3 voturi

Algoritmul de prelucrare a cifrelor unui număr este esențial pentru toți programatorii. Este deseori întâlnit la rezolvarea problemelor de Bacalaureat, dar are multiple aplicații și în proiectele din viața de zi cu zi.

Algoritmul de prelucrare a cifrelor unui număr

Algoritmul care prelucrează cifrele unui număr n este următorul:

În prima instrucțiune din while, variabila cif primește câtul împăriții numărului n la 10. Concret, variabila cif primește valoarea ultimei cifre a numărului n. De exemplu, dacă n are valoarea 476, variabila cif primește valoarea 6. Pe următorul rând, poți adăuga o instrucțiune care să prelucreze cifra respectivă, cum ar fi să o adauge într-o sumă sau să îi verifice o anumită proprietate (Vezi aplicații).

Ultima instrucțiune din while face ca valoarea variabilei n să își piardă ultima cifră. De exemplu, n, care avea valoarea 476, ajunge să aibă valoarea 47, ultima cifră fiindu-i eliminată. Tehnic, instrucțiunea n = n/10 îi oferă lui n câtul propriei împărțiri la 10.

Acest procedeu este repetat până când n rămâne fără nicio cifră, moment în care i se atribuie automat valoarea 0. Atunci, instrucțiunile din structura repetitivă while nu vor mai fi îndeplinite, deoarece nu se mai îndeplinește condiția n!=0 care cere ca n să aibă o valoare diferită de 0.

Cu alte cuvinte, cu fiecare repetare a structurii repetitive while, în variabila cif vor fi memorate, pe rând, toate cifrele numărului n.

ATENȚIE: În urma executării acestui algoritm, se pierde valoarea inițială a numărului. De aceea, este recomandat să se salveze valoarea numărului într-o altă variabilă cu instrucțiunea cn = n; înainte de structura repetitivă while (Vezi aplicație).

Oglinditul / inversul unui număr

Oglinditul unui număr reprezintă numărul format din cifrele sale poziționate în ordine inversă. De exemplu, oglinditul numărului 745 este 547.

Dacă numărul inițial se termină în unu sau mai multe zerouri, atunci acestea nu vor fi incluse în oglindit. De exemplu, inversului numărului 7460 este 647, iar inversul numărului 40500 este 504.

Aflarea inversului unui număr se face cu algoritmul următor:

ATENȚIE: La fel ca la algoritmul de prelucrare a cifrelor unui număr, în urma executării algoritmului de mai sus, se pierde valoarea inițială a numărului. Dacă problema necesită, se face copia numărului înainte de implementarea algoritmului.

Se numește palindrom numărul care este egal cu oglinditul său. Un exemplu de palindrom ar fi 74047.

Pentru a verifica dacă un număr este palindrom, se face întâi o copie a sa, apoi se execută algoritmul de aflare a inversului. În final, se verifică dacă ogl == cn;, unde cn este copia numărului (Vezi aplicație).

Aplicații

Suma cifrelor unui număr

Produsul cifrelor pare ale unui număr

Atenție: Variabila p în care va fi memorat produsul cifrelor se inițializează la început cu valoarea 1.

Oglindit

Se citesc n numere întregi de la tastatură. Pentru numerele care se termină cu cifra 3, să se afișeze oglinditul.

Palindrom

Să se verifice dacă un număr n de tip întreg citit de la tastatură este palindrom.

LĂSAȚI UN MESAJ

Please enter your comment!
Please enter your name here