Programa C ++ para verificar se um número é palíndromo ou não

Este programa inverte um número inteiro (inserido pelo usuário) usando o loop while. Então, se a instrução é usada para verificar se o número invertido é igual ao número original ou não.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:

  • C ++ while e do … while Loop
  • C ++ if, if … else e aninhado if … else

Este programa pega um inteiro do usuário e esse inteiro é revertido.

Se o inteiro invertido for igual ao inteiro inserido pelo usuário, então, esse número é um palíndromo, se não, esse número não é um palíndromo.

Exemplo: verificar o número do Palíndromo

 #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; ) 

Resultado

 Digite um número positivo: 12321 O reverso do número é: 12321 O número é um palíndromo. 
 Digite um número positivo: 12331 O reverso do número é: 13321 O número não é um palíndromo. 

No programa acima, o uso é solicitado a inserir um número positivo que é armazenado na variável num.

O número é então salvo em outra variável n para verificá-lo quando o número original for revertido.

Dentro do loop do … while, o último dígito do número é separado pelo código digit = num % 10;. Este dígito é então adicionado à variável rev.

Antes de adicionar o dígito a rev, primeiro precisamos multiplicar os dados atuais na variável rev por 10 para adicionar o dígito à enésima casa do número.

Por exemplo: no número 123, 3 é em zero th lugar, duas no um po lugar e um no cem th lugar.

Assim, para adicionar outro número 4 depois de 123, precisamos mudar os números atuais para a esquerda, então agora 1 está na mil º lugar, 2 no único th lugar, 3 está em um th lugar e 4 em zero º lugar.

Isso é feito facilmente multiplicando 123 por 10 que dá 1230 e adicionando o número 4, que dá 1234. O mesmo é feito no código acima.

Quando o loop do while finalmente termina, temos um número invertido em rev. Esse número é então comparado ao número original n.

Se os números forem iguais, o número original é um palíndromo, caso contrário, não é.

Artigos interessantes...