En Java, a encontrar la raíz cuadrada de un número Es muy fácil si utilizamos el método predefinido. Java Matemáticas la clase proporciona raíz cuadrada() Método para encontrar la raíz cuadrada de un número. En esta sección crearemos un Programa Java para encontrar la raíz cuadrada de un número sin utilizar el método sqrt() . es el mas popular pregunta preguntado en el entrevista java .
Si el cuadrado de un número es x, la raíz cuadrada de ese número será el número multiplicado por sí mismo. Por ejemplo, la raíz cuadrada de 625 es 25. Si multiplicamos 25 dos veces, obtenemos el cuadrado del número. Matemáticamente, la raíz cuadrada de un número viene dada por:
x=√XHemos utilizado la siguiente fórmula para encontrar la raíz cuadrada de un número.
comentario de powershell multilínearaíz cuadradan+1=(cuadradonorte+(núm/sqrtnorte))/2.0
Nota: El primer número sqrt debe ser el número de entrada/2.
Implementemos la fórmula anterior en un programa java y encuentra la raíz cuadrada.
FindSquareRootExample1 .java
import java.util.Scanner; public class FindSquareRootExample1 { public static void main(String[] args) { System.out.print('Enter a number: '); //creating object of the Scanner class Scanner sc = new Scanner(System.in); //reading a number form the user int n = sc.nextInt(); //calling the method and prints the result System.out.println('The square root of '+ n+ ' is: '+squareRoot(n)); } //user-defined method that contains the logic to find the square root public static double squareRoot(int num) { //temporary variable double t; double sqrtroot=num/2; do { t=sqrtroot; sqrtroot=(t+(num/t))/2; } while((t-sqrtroot)!= 0); return sqrtroot; } }
Salida 1:
misión imposible todas las películas
Enter a number: 12 The square root of 12 is: 3.4641016151377544
Salida 2:
Enter a number: 25 The square root of 25 is: 5.0
Veamos otra lógica para encontrar la raíz cuadrada.
En el siguiente ejemplo, hemos utilizado el siguiente procedimiento para encontrar la raíz cuadrada.
- Hemos inicializado una variable iteradora. yo=1 .
- Comprobar que el número que hemos introducido es un cuadrado perfecto o no. Si el el cuadrado de i es igual a n, i será el valor de la raíz cuadrada de n.
- De lo contrario, encuentre el valor más bajo de i . Recuerda que el cuadrado de debo ser mayor que n . La raíz cuadrada de un número se encuentra entre yo-1 y i . Después de realizar los pasos, utilizamos el algoritmo de búsqueda binaria para encontrar la raíz cuadrada de un número con hasta n decimales.
- Incrementar la variable i en 1 .
Algoritmo de búsqueda binaria
- Encuentra el valor medio de i-1 y i.
- Encuentra el cuadrado de valor medio y compararlo con n.
- Si valor medio * valor medio = n , el valor medio es la raíz cuadrada del número dado. Compare el cuadrado del valor medio con n (hasta n decimales) si la diferencia es menor, el valor medio será la raíz cuadrada del número.
- Si valor medio * valor medio > n , la raíz cuadrada pertenece a la primera mitad .
- Si valor medio * valor medio
, la raíz cuadrada pertenece a la segunda mitad .
Implementemos el algoritmo en un programa Java y encontremos la raíz cuadrada de un número.
gimp guardando como jpeg
FindSquareRootExample2.java
import java.util.Scanner; public class FindSquareRootExample2 { public static void main(String[] args) { double number = 0, sqrt=0; //object of the Scanner class Scanner sc = new Scanner(System.in); System.out.print('Enter a number: '); //reading a double value from the user number = sc.nextDouble(); //method calling sqrt = squareRoot(number); //prints the result System.out.println(The square root of '+number+ ' is ' +sqrt); } //user-defined method to find the square root of a number private static double squareRoot(double number) { //iterator variable int i = 1; while(true) { //for perfect square numbers if(i*i == number) return i; //for not perfect square numbers else if(i*i > number) //returns the value calculated by the method decimalSqrt() return decimalSqrt(number,i-1,i); //increments the variable i by 1 i++; } } // recursive method to find the square root of a number up to 7 decimal places private static double decimalSqrt(double number, double i, double j) //calculates the middle of i and j double midvalue = (i+j)/2; //finds the square of the midvalue double square = midvalue * midvalue; //compares the midvalue with square up to n decimal places if(square==number }
Salida 1:
Enter a number: 625 The square root of 625.0 is 25.0
Salida 2:
Enter a number: 129 The square root of 129.0 is 11.357816688716412