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-121import 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 PRINCIPALpublic 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