في جافا، ل العثور على الجذر التربيعي لعدد يكون الأمر سهلاً للغاية إذا كنا نستخدم الطريقة المحددة مسبقًا. جافا الرياضيات يوفر الفصل sqrt() طريقة للعثور على الجذر التربيعي لعدد. في هذا القسم سوف نقوم بإنشاء برنامج جافا للعثور على الجذر التربيعي لرقم دون استخدام طريقة sqrt (). . هو الأكثر شعبية سؤال سأل في مقابلة جافا .
وزن كات تيمبف
إذا كان مربع الرقم هو x، فإن الجذر التربيعي لهذا الرقم سيكون الرقم مضروبًا في نفسه. على سبيل المثال، الجذر التربيعي لـ 625 هو 25. إذا ضربنا 25 مرتين، نحصل على مربع العدد. رياضياً، يُعطى الجذر التربيعي لأي عدد على النحو التالي:
س=√سلقد استخدمنا الصيغة التالية لإيجاد الجذر التربيعي لعدد ما.
com.sqrtن+1=(sqrtن+(عدد/sqrtن))/2.0ملاحظة: يجب أن يكون رقم sqrt الأول هو رقم الإدخال/2.
دعونا ننفذ الصيغة المذكورة أعلاه في برنامج جافا والعثور على الجذر التربيعي.
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; } }
الإخراج 1:
مقارنة السلسلة في Java
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 .
- تأكد من أن الرقم الذي أدخلناه هو مربع كامل أم لا. إذا مربع i يساوي n، i ستكون قيمة الجذر التربيعي لـ n.
- خلاف ذلك، العثور على أدنى قيمة لـ i . تذكر أن مربع يجب أن أكون أكبر من ن . الجذر التربيعي لعدد يقع بين أنا-1 و أنا . بعد تنفيذ الخطوات نستخدم خوارزمية البحث الثنائية للعثور على الجذر التربيعي لعدد يصل إلى n من المنازل العشرية.
- قم بزيادة المتغير i بواسطة 1 .
خوارزمية البحث الثنائية
- أعثر على القيمة المتوسطة من i-1 و i.
- أوجد مربع القيمة المتوسطة ومقارنتها مع ن.
- لو القيمة المتوسطة * القيمة المتوسطة = ن ، القيمة المتوسطة هي الجذر التربيعي للرقم المحدد. قارن مربع القيمة المتوسطة بـ n (ما يصل إلى n من المنازل العشرية) إذا كان الفرق بسيطًا، فستكون القيمة المتوسطة هي الجذر التربيعي للرقم.
- لو القيمة المتوسطة * القيمة المتوسطة > ن ، الجذر التربيعي ينتمي إلى النصف الاول .
- لو القيمة المتوسطة * القيمة المتوسطة
، الجذر التربيعي ينتمي إلى النصف الثاني .
دعونا ننفذ الخوارزمية في برنامج Java ونجد الجذر التربيعي لرقم ما.
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 }
الإخراج 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