Реализуйте функцию calculateTotalMortgage, которая принимает четыре аргумента: percent, contribution, amount и countMonths.
Преобразуйте процентную ставку из диапазона от 0 до 100 в диапазон от 0 до 1 и из годовой ставки — в месячную.
Посчитайте тело кредита — сумму, которую нужно вернуть банку (сумма кредита минус первоначальный взнос).
Ежемесячная оплата рассчитывается по формуле: Платёж = S * (P + (P / (((1 + P)^n) - 1))), где: S — тело кредита, P — 1/12 процентной ставки (от 0 до 1), n — количество месяцев, ^ — возведение в степень. Для возведения в степень используйте оператор — ** или функцию Math.pow.
Посчитайте общую сумму, которую придётся заплатить клиенту.
Округлите результат до двух значений после запятой. Результат округления должен быть числом.
Верните результат из функции. Результатом функции должно быть значение числового типа.
Примеры результатов:
Ввод: процент (в диапазоне от 0 до 100), начальный взнос, сумма кредита, срок в месяцах
function calculateTotalMortgage(percent, contribution, amount, countMonths) {
// Преобразуем процентную ставку из диапазона от 0 до 100 в диапазон от 0 до 1 и из годовой ставки — в месячную
let monthlyRate = (percent / 100) / 12;
// Рассчитываем тело кредита
let principal = amount - contribution;
// Если тело кредита меньше или равно нулю, возвращаем 0
if (principal <= 0) {
return 0;
}
// Рассчитываем ежемесячный платеж по формуле
let monthlyPayment = principal * (monthlyRate + (monthlyRate / (Math.pow(1 + monthlyRate, countMonths) - 1)));
// Рассчитываем общую сумму, которую придется заплатить клиенту
let totalAmount = monthlyPayment * countMonths;
// Округляем результат до двух значений после запятой
return Math.round(totalAmount * 100) / 100;
}