/
Вопросы и ответы
/
Java
/

Как сделать корень в java

Как сделать корень в java

5 лет назад

Человек-Молекула

Ответы

0

Для вычисления корня числа в Java можно воспользоваться методом Math.sqrt(). Например, для вычисления квадратного корня числа 4, можно написать следующий код:

1
2
double result = Math.sqrt(4);
System.out.println(result); // => 2.0

Если необходимо вычислить корень n-ной степени из числа, можно возвести его в степень, обратную корню. Например, чтобы вычислить кубический корень числа 27, можно написать следующий код:

1
2
3
4
double number = 27;
double n = 3; // кубический корень
double result = Math.pow(number, 1/n);
System.out.println(result); // => 3.0

4 года назад

Иван Полежаев

0

Квадратный корень в Java вычисляет Math.sqrt():

1
2
double root = Math.sqrt(16);   // 4.0
double r2 = Math.sqrt(2);      // 1.4142135623730951

Метод возвращает double. Чтобы получить целое число, приведите тип: (int) Math.sqrt(16) → 4.

Кубический корень

1
2
double cube = Math.cbrt(27);   // 3.0
double neg = Math.cbrt(-8);    // -2.0 — работает и для отрицательных

Корень любой степени

Корень n-й степени — это возведение в степень 1/n:

1
double root4 = Math.pow(81, 1.0 / 4);  // 3.0

Пишите 1.0 / 4. Целочисленное деление 1 / 4 даст 0, и результат будет 1.0.

Корень из отрицательного числа

1
System.out.println(Math.sqrt(-4));  // NaN

Исключения не будет — вернётся NaN («не число»). Проверить результат можно через Double.isNaN().

Проверить, что число — точный квадрат

1
2
3
int n = 49;
int r = (int) Math.sqrt(n);
boolean isSquare = r * r == n;  // true

Целочисленный корень для больших чисел

Для BigInteger есть свой метод (Java 9+):

1
2
3
4
import java.math.BigInteger;

BigInteger big = new BigInteger("1000000000000000000000");
System.out.println(big.sqrt());  // 31622776601

Арифметику и класс Math разбирают в бесплатном курсе «Основы Java».

4 дня назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845