Объяснение Решения | Минимальный Платеж для Кредитной Карты с помощью Бинарного поиска
2. Katas
Чтобы увидеть полное Решение перейдите на GitHub. Смотрите ниже↓
Решение:
- Создаем функцию, которая принимает две переменные.
-
Переходим к части вспомогательных переменных::
- start_balance - для дублирование непогашенного остаток, позже это нам пригодится.
- monthlyPercentRate - ежемесячная процентная ставка.
- lowerPay - нижняя границу платеже.
- upperPay - верхняя граница платежа.
- epsilon - переменная для сравнения.
- count - для количество попыток за которые программа нашла минимальный платеж.
-
Переходим к основной части программы:
- Будем использовать цикл while, ак как не знаем сколько попыток нам понадобится.
-
Вспомогательных переменных в самом цикле:
- minPay - минимальный платеж на данный момент.
- OutStandingBalance - изначальный непогашенный остаток.
- count - добавляем 1 к количеству попыток.
- Применяем алгоритм, который мы разобрали в Примере.
-
Проверяем непогашенный остаток после одного года:
- Если он больше epsilon, то тогда мы меняем нижнюю границу на minPay и возвращаемся к 3 пункту.
- Если он меньше epsilon, то тогда мы меняем верхнюю границу на minPay и возвращаемся к 3 пункту.
- В другом случаи, выходим из цикла.
- Округляем minPay до второй цифры после запятой и возвращаем строку по условию.
На этом и все.
Если вам понравилась Katas, можете поставить этой репозитории звездочку это будет меня в дальнейшем мотивировать на написание подобных Katas для вас.
Переходите на Github страницу :