Как возводить в степень в java
Перейти к содержимому

Как возводить в степень в java

12.17. Java — Метод Math.pow()

Метод Math.pow() — возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.

Синтаксис

Параметры

Подробная информация о параметрах:

  • base — любой примитивный тип данных.
  • exponent — любой примитивный тип данных.

Возвращаемое значение

  • В Java Math.pow() возвращает double значение первого аргумента, возведенное в степень второго аргумента.

Пример 1: возведение числа в квадрат и куб

Для возведения любого числа в квадрат с помощью метода Math.pow() необходимо в качестве второго аргумента использовать значение 2, а для возведения в куб — 3 и т.д. Заметьте, для вывода на экран целого значения используется «%.0f», так как метод возвращает double значение.

Получим следующий результат:

Пример 2: возведение числа в дробную степень

Получим следующий результат:

Пример 3: возведение числа в отрицательную степень

Получим следующий результат:

Пример 4: возведение отрицательного числа степень

Заметьте, что при возведении отрицательного числа в дробную степень мы не получим результат (NaN).

Дополнительные классы

Для выполнения различных математических операций в Java в пакете java.lang определен класс Math . Рассмотрим его основные методы:

abs(double value) : возвращает абсолютное значение для аргумента value

acos(double value) : возвращает арккосинус value. Параметр value должен иметь значение от -1 до 1

asin(double value) : возвращает арксинус value. Параметр value должен иметь значение от -1 до 1

atan(double value) : возвращает арктангенс value

cbrt(double value) : возвращает кубический корень числа value

ceil(double value) : возвращает наименьшее целое число с плавающей точкой, которое не меньше value

cos(double d) : возвращает косинус угла d

cosh(double d) : возвращает гиперболический косинус угла d

exp(double d) : возвращает основание натурального логарифма, возведенное в степень d

floor(double d) : возвращает наибольшее целое число, которое не больше d

floorDiv(int a, int b) : возвращает целочисленный результат деления a на b

log(double a) : возвращает натуральный логарифм числа a

log1p(double d) : возвращает натуральный логарифм числа (d + 1)

log10(double d) : возвращает десятичный логарифм числа d

max(double a, double b) : возвращает максимальное число из a и b

min(double a, double b) : возвращает минимальное число из a и b

pow(double a, double b) : возвращает число a, возведенное в степень b

random() : возвращает случайное число от 0.0 до 1.0

rint(double value) : возвращает число double, которое представляет ближайшее к числу value целое число

round(double d) : возвращает число d, округленное до ближайшего целого числа

scalb(double value, int factor) : возвращает произведение числа value на 2 в степени factor

signum(double value) : возвращает число 1, если число value положительное, и -1, если значение value отрицательное. Если value равно 0, то возвращает 0

sin(double value) : возвращает синус угла value

sinh(double value) : возвращает гиперболический синус угла value

sqrt(double value) : возвращает квадратный корень числа value

tan(double value) : возвращает тангенс угла value

tanh(double value) : возвращает гиперболический тангенс угла value

toDegrees(double value) переводит радианы в градусы и toRadians(double value) — градусы в радианы

Как возводить в степень в Java?

В этой статье мы расскажем о том, как выполнять возведение в степень в языке программирования Java. Читателю будут представлены 5 актуальных способов решения поставленной задачи.

Но прежде чем мы приступим к перечислению способов, давайте для начала вспомним, что же вообще представляет собой операция возведения:

Таким образом, речь идет об умножении числа на свое же значение n-е количество раз. Умножаемое число — это основание степени, а количество операций по умножению — показатель. Результат такого перемножения и будет называться возведением в степень. Для числа 3 3 результат будет равен 27, так как 3 х 3 х 3 = 27.

Теперь давайте рассмотрим, как это все реализуется в языке программирования Java.

Math pow

Использование класса Math — наиболее простой вариант решения поставленной задачи. На практике его применяют в большинстве ситуаций. Public class Math включает в себя математические методы, в том числе те, которые связаны с геометрией и тригонометрией. В этом классе методы реализованы в качестве статических, следовательно, есть возможность вызывать их через имя класса Math, не создавая объект класса.

public static int pow(int value, int powValue) <

return (int) Math.pow(value, powValue);

Здесь пришлось использовать операцию приведения типа (int), т. к. этот метод класса Math осуществляет возвращение значения типа double (аргументы, по сути, тоже double , однако там применяется неявное приведение типа).

Теперь рассмотрим несколько дополнительных вариантов решения поставленной задачи.

Значение квадрата числа

Начнем с наиболее простого и напишем метод по возведению в квадрат:

Выполняем вызов в main:

public static void main(String[] args) <

Как видим, возведение в квадрат сложностей не вызывает.

Число в степени

Чаще всего нам приходится работать не с квадратным значением числа, а с числом в определенной степени. Усложним предыдущий вариант и задействуем кастомное Java pow-значение:

public static void main(String[] args) <

public static int pow(int value, int powValue) <

int result = 1;

for (int a = 1; а <= powValue; а++) <

result = result * value;

return result;

Алгоритм несложен: мы как будто задаем точку отсчета result , а потом умножаем его на значение value столько, сколько будет работать цикл с powValue .

Рекурсия

Следующий вариант является уже более экзотичным.

Вы должны знать, что рекурсия позволяет методу осуществлять вызов самого себя. В языке программирования Java такие методы тоже есть и называются они рекурсивными.

На практике рекурсивно можно решать многие алгоритмические задачи. Наша — не исключение. Давайте выполним возведение в степень рекурсивно:

Как видно из реализации, существуют 2 момента:

  1. Условие выхода из рекурсии. Если возведенное значение степени достигает единицы, нас выбрасывает назад.
    1. Непосредственный механизм умножения value на результат вызова того же самого метода, однако с powValue — 1.

    Для совсем ленивых разработчиков существуют способы «из коробки». Рассмотрим один из них.

    BigInteger

    BigInteger — это класс, который обеспечивает хранение целых чисел произвольной величины. Здесь существуют разные арифметические методы, которые позволяют работать с числами.

    Выполняем возведение посредством BigInteger в Java:

    Тут все предельно просто и не нуждается в дополнительных разъяснениях, не так ли? Однако на сегодня все, теперь вы будете знать о разных способах, позволяющих возводить в степень в «Джава».

    По материалам: https://javarush.ru/groups/posts/2828-kak-vihpolnitjh-vozvedenie-v-stepenjh-v-java.

    Интересуют более продвинутые знания по языку программирования Java? Добро пожаловать на курсы в Otus!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *