Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как в языке программирования Котлин осуществляется возведение в степень вычисления?

Здравствуйте, дана задача:

Человек положил в банк сумму в s рублей под p% годовых (проценты начисляются в конце года).

Сколько денег будет на счету через 3 года (с учётом сложных процентов)?

Например, 100 рублей под 10% годовых превратятся в 133.1 рубля

Дано начало функции fun accountInThreeYears(initial: Int, percent: Int): Double = TODO ()

Путем недолгих поисков узнаем, что формула по которой можно провести вычисления выглядит как:

100 * (1 + 10/100)^3 = 133.1

Где 100 это сумма вклада, а 3 это время в годах на которое помещается вклад.

В Котлин для возведения числа в степень используют следующую функцию:

x.pow(y) = x^y или х в степени у

По такой логике функция решающая поставленную задачу должна выглядеть как:

((1 + (percent/100)).pow(3)) * initial, но при такой записи, IntelliJ IDEA ругается что возведение в степень написано не верно.

Итак, сам вопрос: Как должно выглядеть возведение в степень (1 + (percent/100)) и можно ли это сделать без ввода дополнительных переменных и разбивок функции на несколько вычислений?

ПрограммированиеКомпьютеры+3
Александр Гущин
  ·   · 3,0 K
Первый
Kotlin, Linux, Education.  · 23 февр 2021

Импортируйте библиотеку: import kotlin.math.pow

Используйте вызов вида: x.pow(степень)

Pow работает с типами Float, Double.

Пример: x.toFloat().pow(3).toInt()

Первый
Советую в выражении ((1 + (percent/100)).pow(3)) * initial все целые типы привести к вещественному типу: ((1.0 + (percent/100.0)).pow(3)) * initial Тогда pow будет корректно работать