En esta entrega chekearemos si un numero es palindromo, es decir, si es capicua (se lee igual de izquierda a derecha o viceversa).
La funcion es simple calculamos el numero inverso y despues camparamos:
int palindromo(int numero){int original, inverso, digito;original = numero;inverso = 0;while (numero != 0){digito = numero % 10;inverso = inverso * 10 + digito;numero = numero / 10;}if (inverso == original) return 1;return 0;}
Podemos observar, que en el while se calcula el numero inverso. Simplemente se calcula el resto de dividir el numero por 10. Esto nos da el primer digito. A nuestro numero inverso lo multiplicamos por diez y le sumamos ese resto, para agregarle que obtuvimos antes. Y por ultimo a nuestro numero le calculamos la division entera (en c es por defecto al ser variables enteras) por 10 para quitar el digito leido.
Despues ponemos un IF para determinar la igualdad entre el numero y el inverso obtenido.
No hay comentarios:
Publicar un comentario