El palíndromo Siguiente
Un entero positivo se llama un palíndromo si su representación en el sistema decimal es el mismo cuando se lee de izquierda a derecha y de derecha a izquierda. Para un entero positivo k dado de no más de 1000000 dígitos, escribir el valor de los más pequeños palíndromo más grande que K a la salida. Los números son siempre aparecen sin ceros a la izquierda.
De entrada
La primera línea contiene t entero, el número de casos de prueba. Enteros de K se dan en las líneas t siguiente.
Salida
Para cada salida de K, la más pequeña palíndromo más grande que K.
Ejemplo
Entrada:
2
808
2133
Salida:
818
2222
Como nos enseñaron en INF-111
import java.util.Scanner; class palindromo { public static void main(String[] args) { Scanner sc2 = new Scanner(System.in); int lim = sc2.nextInt(); for (int i = 1; i <= lim; i++) { int print = Integer.parseInt(SigPalin(Integer.toString(sc2.nextInt()))); System.out.print(print + "\n"); } } // Integer.toString() combierte un entero a cadena // Integer.parseInt() combierte una cadena a entero public static String SigPalin(String cad) { boolean j = true; String cas = cad; int aux = Integer.parseInt(cas); String invert = ""; while (j) { aux++; cas = Integer.toString(aux); invert = ""; cas = cas.trim(); for (int i = cas.length() - 1; i >= 0; i--) { invert = invert + cas.charAt(i); } if (invert.equals(cas)) { j = false; } } return invert; } }COMO NOS ESTÁN ENSEÑANDO EN INF-121
import java.util.Scanner; public class Palindrome { private int lim; private String vec[] = new String[20]; public Palindrome() { lim = 2; vec[1] = "808"; vec[2] = "2133"; } public void leer() { Scanner sc = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); System.out.println("Cuantos ciclos tendra ?"); lim = sc.nextInt(); for (int i = 1; i <= lim; i++) { System.out.println("Numero " + i + " :"); String lec = sc2.nextLine(); vec[i] = SigPalin(lec); } } public void mostrar() { System.out.println("Num de ciclos " + lim); for (int i = 1; i <= lim; i++) { System.out.println("El siguiente Palindromo es :"); System.out.println(vec[i]); } } public static String SigPalin(String cad) { boolean j = true; String cas = cad; int aux = Integer.parseInt(cas); String invert = ""; while (j) { aux++; cas = Integer.toString(aux); invert = ""; cas = cas.trim(); for (int i = cas.length() - 1; i >= 0; i--) { invert = invert + cas.charAt(i); } if (invert.equals(cas)) { j = false; } } return invert; } }MAIN O PRINCIPAL
public class Main { public static void main(String[] args) { Palindrome a = new Palindrome(); Palindrome b = new Palindrome(); System.out.println("CONSTRUCTOR POR DEFECTO"); b.mostrar(); System.out.println("---------->"); System.out.println(); a.leer(); System.out.println(); a.mostrar(); } }
No hay comentarios:
Publicar un comentario