🪞 Programare C++: Număr palindrom și oglindit
Algoritm pentru determinarea oglinditului unui număr
Acest algoritm calculează numărul oglindit al unui număr dat. Oglinditul unui număr reprezintă numărul obținut prin inversarea ordinii cifrelor sale. De exemplu, pentru numărul 1264, oglinditul este 4621.
Explicație:
- Inițializare: Se inițializează variabila rez cu valoarea 0, care va stoca numărul oglindit.
- Parcurgere: Folosind un ciclu while, se parcurg toate cifrele numărului n de la dreapta la stânga (începând cu cifra unităților).
- Formarea oglinditului: La fiecare iterație, rez este actualizat prin înmulțirea cu 10 și adăugarea ultimei cifre a lui n (n % 10).
- Reducerea numărului original: n este împărțit la 10 pentru a elimina ultima cifră (deoarece a fost deja adăugată la rez).
- Rezultat: Ciclul se repetă până când n devine 0. La final, rez conține numărul oglindit.
Algoritm pentru verificarea unui număr palindrom
Un număr palindrom este un număr care rămâne același când cifrele sale sunt inversate, adică este egal cu oglinditul său. De exemplu, 212 este un palindrom, deoarece inversul său este tot 212.
Explicație:
- Inițializare: Se creează o copie a numărului original a, deoarece vom modifica a în timpul procesului.
- Determinarea oglinditului: Folosim aceeași tehnică descrisă anterior pentru a calcula oglinditul numărului a, stocând rezultatul în variabila oglinda.
- Comparare: La final, se compară numărul original (copiat în copie) cu oglinditul său (oglinda).
- Rezultat: Dacă sunt egale, funcția returnează true, indicând că numărul este un palindrom; altfel, returnează false.
Concluzie
Ambii algoritmi sunt simpli și folosesc tehnici de bază pentru a manipula cifrele unui număr. Algoritmul pentru determinarea oglinditului este o parte esențială a algoritmului de verificare a unui palindrom, deoarece compararea unui număr cu oglinditul său este metoda prin care se determină dacă acesta este sau nu palindrom.
Andrei Frîntu
Fondatorul platformei - mentor Academia