- Faça um programa que receba dois vetores com N números. Verifique se esse vetor tem um número palíndromo (um número que escrito na ordem inversa é igual).
Passo 1
O problema pede um programa em que lemos dois vetores, cada um com
números inteiros, e verificamos se em qualquer um dos vetores existe pelo menos um número palíndromo – ou seja, um número que permanece igual quando seus dígitos são invertidos. O conteúdo principal envolve:
- Laços de repetição para percorrer vetores;
- Função para inverter um número inteiro e comparar com o original;
- Uso de operações aritméticas inteiras (
, divisão inteira).
Passo 2
Primeiro vamos criar uma função que testa se um número inteiro não-negativo
é palíndromo. A ideia é: guardar o valor original, construir o número invertido dígito a dígito, e ao final comparar invertido com o original.
Função
:
Passo 3
No bloco principal do programa, lemos o valor de
, os dois vetores
e
, e então percorremos cada vetor aplicando
. Se em qualquer posição tivermos verdadeiro, marcamos que existe palíndromo naquele vetor.
ler N
para i de \(0\) até N-\(1\) faça
ler A[i]
fim para
para i de \(0\) até N-\(1\) faça
ler B[i]
fim para
temPalA :\(=\) falso
para i de \(0\) até N-\(1\) faça
se ehPalindromo(A[i]) então
temPalA :\(=\) verdadeiro
interromper laço
fim se
fim para
temPalB :\(=\) falso
para i de \(0\) até N-\(1\) faça
se ehPalindromo(B[i]) então
temPalB :\(=\) verdadeiro
interromper laço
fim se
fim para
Passo 4
Com os flags
e
definidos, basta exibir o resultado para cada vetor. Podemos, por exemplo, imprimir mensagens como “Vetor A tem palíndromo” ou “Vetor A não tem palíndromo”, e o mesmo para o vetor B.
Resposta
Veja abaixo um esqueleto completo em pseudocódigo:
função
:
imprimir “Vetor A tem palíndromo.”
imprimir “Vetor A não tem palíndromo.”
imprimir “Vetor B tem palíndromo.”
imprimir “Vetor B não tem palíndromo.”