在Java中,我们有一个Math.sqrt函数,可以返回任何给定数字的平方根。在这个Java程序中,我们将在不使用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);
}
在这个Java例子中,我们正在计算每个成员与给定数字相比的平方。如果它小于给定的数字,就递增数值。
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
在这个Java例子中,我们使用二进制搜索来寻找平方根。
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