Объяснение Решения | Минимальный Платеж для Кредитной Карты с помощью Бинарного поиска

2. Katas

Чтобы увидеть полное Решение перейдите на GitHub. Смотрите ниже↓

Решение:

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

На этом и все.

Если вам понравилась Katas, можете поставить этой репозитории звездочку это будет меня в дальнейшем мотивировать на написание подобных Katas для вас.

Переходите на Github страницу :