在 Java 中,我们有一个 Math.sqrt 函数,可以返回给定数字的平方根。在此程序中,我们将不使用该 sqrt 函数来查找平方根。如您所见,我们使用 do while 循环来计算它。
package RemainingSimplePrograms;
import java.util.Scanner;
public class SqrRootOfNum1 {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
System.out.print("Please Enter Any Number to find Square Root = ");
double num = sc.nextDouble();
double temp, squareroot;
squareroot = num / 2;
do {
temp = squareroot;
squareroot = (temp + (num / temp))/2;
} while((temp - squareroot) != 0);
System.out.println("\nThe Square Root of a Number without sqrt = " + squareroot);
}
}

在此示例中,我们正在将每个成员的平方与给定数字进行比较。如果小于给定数字,则增加该值。
package RemainingSimplePrograms;
import java.util.Scanner;
public class SqrRootOfNum2 {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
System.out.print("Please Enter Any Number = ");
int num = sc.nextInt();
int squareroot = squareRootWithoutsqrt(num);
System.out.println("\nThe Square Root of a Number without sqrt = " + squareroot);
}
public static int squareRootWithoutsqrt(int num) {
if(num < 2) {
return num;
}
int mid, start = 1, end = num;
while(start <= end) {
mid = (start + end) /2;
if(mid * mid == num) {
return mid;
} else if(mid * mid > num) {
end = mid - 1;
} else {
start = mid + 1;
}
}
return end;
}
}
Please Enter Any Number = 986
The Square Root of a Number without sqrt = 31
Java 编程:如何在不使用 sqrt 函数的情况下找到数字的平方根
在此示例中,我们使用二分查找来查找平方根。
package RemainingSimplePrograms;
import java.util.Scanner;
public class SqrRootOfNum3 {
private static Scanner sc;
public static void main(String[] args) {
sc = new Scanner(System.in);
System.out.print("Please Enter Any Number = ");
int num = sc.nextInt();
int squareroot = squareRootWithoutsqrt(num);
System.out.println("\nThe Square Root of a Number without sqrt = " + squareroot);
}
public static int squareRootWithoutsqrt(int num) {
if(num < 2) {
return num;
}
int sqrtVal = 1;
while(sqrtVal * sqrtVal <= num) {
sqrtVal++;
}
return sqrtVal - 1;
}
}
Please Enter Any Number = 97
The Square Root of a Number without sqrt = 9