Reto Cuadrados Perfectos en Java

Hola querido lector, hoy estoy aquí con el tema de los cuadrados perfectos, en qué consiste? Básicamente hacer un cuadrado de un número entero y que éste no tenga decimales. Uno de esos casos es por ejemplo el el número 9 que es igual a 3*3.

Aquí dejo el enunciado:

Conseguir un cuadrado perfecto


Un número es un cuadrado perfecto si su raíz cuadrada es un número exacto (sin decimales). Por ejemplo, el 4 es un cuadrado perfecto (2²), al igual que lo son el 36 (6²) y el 3.500.641 (1871²).
Todos los números que no son cuadrados perfectos pueden multiplicarse por otros para conseguir serlo. Por ejemplo, el número 8 no es un cuadrado perfecto, pero al multiplicarlo por 2 se obtiene el 16, que sí lo es.

Entrada

La entrada comienza con un número que indica cuántos casos de prueba tendrán que procesarse.
Cada caso de prueba consiste en un número mayor que 0 y menor que 231.

Salida

Para cada caso de prueba, el programa escribirá por la salida estándar, en una línea independiente, el número más pequeño que al ser multiplicado por el número del caso de prueba da como resultado un cuadrado perfecto.

Aquí dejo el código para que los estudiéis en Java:

        try {
            double numero, raiz;
            int numeroA, numeroB;
            Scanner sca = new Scanner(System.in);
            int num = sca.nextInt();
            numero = Double.parseDouble(num + «»);

            String str;
            String[] arrStr;
            raiz = Math.sqrt(numero);
            str = raiz + «»;
            arrStr = str.split(«\.»);
            numeroA = Integer.parseInt(arrStr[0]);
            try {
                numeroB = Integer.parseInt(arrStr[1].replaceAll(«0», «»).substring(0, 8));
            } catch (Exception ex) {
                numeroB = 0;
            }

            if (numeroB == 0) {
                System.out.println(«Cuadrado Perfecto»);
            } else {
                System.out.println(«Cuadrado Imperfecto»);
            }
        } catch (Exception ex) {
            System.out.println(«Debes de poner un número válido»);
        }

Esto ha sido por el tutorial de hoy, espero que os haya gustado, que hayáis aprendido y si queréis contenido similar, podéis seguirme en mi página de Facebook o twitter.

FUENTE:

https://www.aceptaelreto.com/pub/problems/v004/14/st/statements/Spanish/index.html

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.