Questo programma inverte un numero intero (inserito dall'utente) utilizzando il ciclo while. Quindi, l'istruzione if viene utilizzata per verificare se il numero invertito è uguale o meno al numero originale.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione C ++:
- C ++ while e do … while Loop
- C ++ if, if … else e Nested if … else
Questo programma prende un numero intero dall'utente e tale numero intero viene invertito.
Se il numero intero invertito è uguale all'intero inserito dall'utente, quel numero è un palindromo se non quel numero non è un palindromo.
Esempio: controllare il numero di palindromo
#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; )
Produzione
Immettere un numero positivo: 12321 Il contrario del numero è: 12321 Il numero è un palindromo.
Immettere un numero positivo: 12331 Il contrario del numero è: 13321 Il numero non è un palindromo.
Nel programma di cui sopra, viene richiesto di inserire un numero positivo che viene memorizzato nella variabile num.
Il numero viene quindi salvato in un'altra variabile n per controllarlo quando il numero originale è stato invertito.
All'interno del ciclo do … while, l'ultima cifra del numero viene separata tramite il codice digit = num % 10;
. Questa cifra viene quindi aggiunta alla variabile rev.
Prima di aggiungere la cifra a rev, dobbiamo prima moltiplicare i dati correnti nella variabile rev per 10 per aggiungere la cifra all'ennesima posizione nel numero.
Ad esempio: il numero 123, 3 è in zero ° posto, 2 nell'unico ° posto e 1 a cento ° posto.
Quindi, per aggiungere un altro numero 4 dopo 123, abbiamo bisogno di spostare i numeri attuali a sinistra, così ora 1 è in mille ° posto, 2 in quella ° posto, 3 è in quella ° posto e 4 nel nulla esimo posto.
Questo viene fatto facilmente moltiplicando 123 per 10 che dà 1230 e aggiungendo il numero 4, che dà 1234. Lo stesso è fatto nel codice sopra.
Quando il ciclo do while finisce finalmente, abbiamo un numero invertito in rev. Questo numero viene quindi confrontato con il numero originale n.
Se i numeri sono uguali, il numero originale è un palindromo, altrimenti non lo è.