Program C ++ pentru a verifica dacă un număr este palindrom sau nu

Acest program inversează un număr întreg (introdus de utilizator) utilizând bucla while. Apoi, dacă este utilizată instrucțiunea pentru a verifica dacă numărul inversat este sau nu egal cu numărul original.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:

  • C ++ while și do… while Buclă
  • C ++ dacă, dacă … altfel și cuibărit dacă … altfel

Acest program ia un număr întreg de la utilizator și acel număr întreg este inversat.

Dacă întregul invers este egal cu întregul introdus de utilizator atunci, acel număr este un palindrom dacă nu acel număr nu este un palindrom.

Exemplu: Verificați numărul Palindromului

 #include using namespace std; int main() ( int n, num, digit, rev = 0; cout <> num; n = num; do ( digit = num % 10; rev = (rev * 10) + digit; num = num / 10; ) while (num != 0); cout << " The reverse of the number is: " << rev << endl; if (n == rev) cout << " The number is a palindrome."; else cout << " The number is not a palindrome."; return 0; ) 

Ieșire

 Introduceți un număr pozitiv: 12321 Reversul numărului este: 12321 Numărul este un palindrom. 
 Introduceți un număr pozitiv: 12331 Reversul numărului este: 13321 Numărul nu este un palindrom. 

În programul de mai sus, se cere să se introducă un număr pozitiv care este stocat în variabila num.

Numărul este apoi salvat într-o altă variabilă n pentru a-l verifica atunci când numărul inițial a fost inversat.

În interiorul buclei do … while, ultima cifră a numărului este separată folosind codul digit = num % 10;. Această cifră este apoi adăugată la variabila rev.

Înainte de a adăuga cifra la turație, trebuie mai întâi să înmulțim datele curente din variabila turație cu 10 pentru a adăuga cifra la locul al zecelea al numărului.

De exemplu: în numărul 123, 3 este zero - lea loc, 2 în cel lea loc și 1 în sute lea loc.

Deci, pentru a adăuga un alt număr de 4 , după 123, avem nevoie pentru a schimba numerele curente la stânga, astfel încât acum 1 este în mii - lea loc, 2 în cel - lea loc, 3 este in cel lea loc și 4 în zero lea loc.

Acest lucru se face cu ușurință înmulțind 123 cu 10, ceea ce dă 1230 și adăugând numărul 4, care dă 1234. La fel se procedează și în codul de mai sus.

Când bucla do while se încheie în sfârșit, avem un număr inversat în rev. Acest număr este apoi comparat cu numărul original n.

Dacă numerele sunt egale, numărul original este un palindrom, altfel nu este.

Articole interesante...