Informatică · clasa a IX-a

Prelucrarea cifrelor unui număr

„Nu știu cum să „scot” cifrele unui număr, să le număr sau să construiesc oglinditul.”

Semne că blocajul vine de aici

  • Nu vezi legătura dintre n % 10 și ultima cifră.
  • Pierzi prima cifră pentru că o cauți de la stânga.
  • La oglindit nu știi cum se construiește numărul nou.

Noțiunea care lipsește de obicei

Înainte să refaci exerciții de tipul acesta, verifică dacă stăpânești noțiunile de mai jos. De cele mai multe ori, blocajul se rezolvă acolo, nu aici.

Explicația, pe scurt

n % 10 este ultima cifră a lui n, iar n / 10 (împărțire întreagă) este numărul fără ultima cifră. Repetând „iau ultima cifră, tai ultima cifră” cât timp n > 0, parcurgi toate cifrele de la dreapta la stânga.

Șablon: while (n > 0) { c = n % 10; /* prelucrezi c */ n = n / 10; }. Numărul de cifre: numeri iterațiile. Suma cifrelor: aduni c. Prima cifră: ultima valoare a lui c la ieșirea din buclă.

Oglinditul se construiește din cifrele extrase: ogl = ogl * 10 + c. Pentru 123: ogl devine 3, apoi 32, apoi 321. Atenție la n = 0 (are o cifră) — tratează-l separat sau folosește do-while.

Exemplu rezolvat

Calculează pe hârtie oglinditul lui n = 405 cu algoritmul ogl = ogl * 10 + n % 10.

  1. 1n = 405: c = 5, ogl = 0 × 10 + 5 = 5, n = 40.
  2. 2n = 40: c = 0, ogl = 5 × 10 + 0 = 50, n = 4.
  3. 3n = 4: c = 4, ogl = 50 × 10 + 4 = 504, n = 0 → stop.

Răspuns: 504

Verificare rapidă

Răspunsul rămâne doar în pagina ta; nu este trimis sau salvat.

Ce se afișează? n = 2024; s = 0; while (n > 0) { s += n % 10; n /= 10; } cout << s;

Ce poți învăța în continuare

Noțiunile de mai jos se construiesc pe prelucrarea cifrelor unui număr. Dacă verificarea a ieșit bine, poți trece la ele.