Método BigInteger sqrtAndRemainder() en Java con ejemplos

El método java.math.BigInteger .sqrtAndRemainder() realiza una operación sobre el BigInteger actual mediante el cual se llama a este método. Este método se usa para calcular la raíz cuadrada entera (sqrt(this)) de este número y el resto de este número con el cuadrado. Devuelve una array de dos BigIntegers que contienen la raíz cuadrada entera ‘p’ de this y su resto (this – p*p), respectivamente. La clase BigInteger utiliza internamente una array de enteros para el procesamiento, por lo que la operación en un objeto de BigIntegers no es tan rápida como en las primitivas.

Nota: Este método está disponible desde JDK 9

Sintaxis:

public BigInteger[] sqrtAndRemainder()

Parámetros: Este método no acepta ningún parámetro.

Valor devuelto: este método devuelve una array de dos BigIntegers con la raíz cuadrada entera en el índice 0 y el resto en el índice 1.

Excepción: el número debe ser positivo, de lo contrario se lanza ArithmeticException .

Los siguientes programas ilustran el método sqrtAndRemainder() de la clase BigInteger

Ejemplo 1:

// Java program to demonstrate
// sqrtAndRemainder() method of BigInteger
  
import java.math.BigInteger;
  
class Main {
    public static void main(String[] args)
    {
        // BigInteger object to store result
        BigInteger res[];
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two object of String created
        // Holds the values to perform operation
        String input1 = "15";
  
        // Convert the string input to BigInteger
        BigInteger a
            = new BigInteger(input1);
  
        // Using sqrtAndRemainder() method
        try {
  
            res = a.sqrtAndRemainder();
  
            // Display the result
            System.out.println("The square root of\n"
                               + a + "\nis " + res[0]
                               + "\nand remainder is "
                               + res[1]);
        }
        catch (ArithmeticException e) {
            System.out.println(e);
        }
    }
}

Producción:

The square root of
15
is 3
and remainder is 6

Ejemplo 2:

// Java program to demonstrate
// sqrtAndRemainder() method of BigInteger
  
import java.math.BigInteger;
  
class Main {
    public static void main(String[] args)
    {
        // BigInteger object to store result
        BigInteger res[];
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two object of String created
        // Holds the values to perform operation
        String input1 = "625";
  
        // Convert the string input to BigInteger
        BigInteger a
            = new BigInteger(input1);
  
        // Using sqrtAndRemainder() method
        try {
  
            res = a.sqrtAndRemainder();
  
            // Display the result
            System.out.println("The square root of\n"
                               + a + "\nis " + res[0]
                               + "\nand remainder is "
                               + res[1]);
        }
        catch (ArithmeticException e) {
            System.out.println(e);
        }
    }
}

Producción:

The square root of
625
is 25
and remainder is 0

Ejemplo 3:
programa que muestra una excepción cuando el valor es negativo.

// Java program to demonstrate
// sqrtAndRemainder() method of BigInteger
  
import java.math.BigInteger;
  
class Main {
    public static void main(String[] args)
    {
        // BigInteger object to store result
        BigInteger res[];
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two object of String created
        // Holds the values to perform operation
        String input1 = "-9";
  
        // Convert the string input to BigInteger
        BigInteger a
            = new BigInteger(input1);
  
        // Using sqrtAndRemainder() method
        try {
  
            res = a.sqrtAndRemainder();
  
            // Display the result
            System.out.println("The square root of\n"
                               + a + "\nis " + res[0]
                               + "\nand remainder is "
                               + res[1]);
        }
        catch (ArithmeticException e) {
            System.out.println(e);
        }
    }
}

Producción:

java.lang.ArithmeticException: Negative BigInteger

Referencias: https://docs.oracle.com/javase/9/docs/api/java/math/BigInteger.html#sqrtAndRemainder–

Publicación traducida automáticamente

Artículo escrito por Rajnis09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *