logo

Јава програм за проналажење квадратног корена броја без скрт методе

У Јави, до наћи квадратни корен броја је веома лако ако користимо унапред дефинисани метод. Јава Матх класа пружа скрт() метод за проналажење квадратног корена броја. У овом одељку ћемо креирати а Јава програм за проналажење квадратног корена броја без употребе методе скрт(). . То је најпопуларнији питање упитао је у Јава интервју .

Ако је квадрат броја х, квадратни корен тог броја биће број помножен сам са собом. На пример, квадратни корен од 625 је 25. Ако два пута помножимо 25, добићемо квадрат броја. Математички, квадратни корен из броја је дат као:

пролог језик
к=√Икс

Користили смо следећу формулу да пронађемо квадратни корен броја.

скртн+1=(скртн+(број/квн))/2.0

Напомена: Први скрт број треба да буде улазни број/2.

Хајде да имплементирамо горњу формулу у а Јава програм и пронађите квадратни корен.

ФиндСкуареРоотЕкампле1 .јава

 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; } } 

Излаз 1:

 Enter a number: 12 The square root of 12 is: 3.4641016151377544 

Излаз 2:

 Enter a number: 25 The square root of 25 is: 5.0 

Хајде да видимо другу логику да пронађемо квадратни корен.

1 од 1000,00

У следећем примеру користили смо следећу процедуру да пронађемо квадратни корен.

  • Иницијализовали смо променљиву итератора и=1 .
  • Проверите да ли је број који смо унели савршен квадрат или не. Ако је квадрат од и је једнак н, тј биће вредност квадратног корена од н.
  • У супротном, пронађите најнижа вредност и . Запамтите да је квадрат од ја мора бити већи од н . Квадратни корен из броја лежи између и-1 и и . Након извођења корака користимо алгоритам бинарног претраживања да пронађе квадратни корен броја до н децималних места.
  • Повећајте променљиву и за 1 .

Алгоритам бинарног претраживања

  • Финд тхе средње вредности од и-1 и и.
  • Пронађите квадрат од средње вредности и упореди га са н.
    • Ако средња вредност * средња вредност = н , средња вредност је квадратни корен датог броја. Упоредите квадрат средње вредности са н (до н децималних места) ако је разлика мала, средња вредност ће бити квадратни корен броја.
    • Ако средња вредност * средња вредност > н , квадратни корен припада Прва половина .
    • Ако средња вредност * средња вредност, квадратни корен припада друго полувреме .

Хајде да имплементирамо алгоритам у Јава програм и пронађемо квадратни корен броја.

ФиндСкуареРоотЕкампле2.јава

Армстронгов број
 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 } 

Излаз 1:

 Enter a number: 625 The square root of 625.0 is 25.0 

Излаз 2:

 Enter a number: 129 The square root of 129.0 is 11.357816688716412