Непогашенный Остаток на Кредитной Карте

2. Katas

Проблема:

Написать программу, которая считает Непогашенный Остаток на Кредитной Карте, если целый год выплачивать только Минимальный Платеж.

Для этого дается три переменные на вход в функцию:

  1. outStandingBalance - непогашенный остатокк на кредитной карте.
  2. yearlyPercentRate - годовая процентная ставка.
  3. monthlyPercentRate - месячная процентная ставка.

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

Задача:

Написать функцию, которая возвращает такую строку: "Непогашенный Остаток составляет: b", где b - непогашенный остаток(округлен до второй цифры после запятой), который вернула функция.

!Также, печатает вот такие строки во время работы функции:

Месяц 1 Непогашенный Остаток: b | Минимальный платеж в этом месяце: m
...
Месяц 12 Непогашенный Остаток: b | Минимальный платеж в этом месяце: m

Где b - непогашенный остаток, а m - минимальный платеж в этом месяце.

Пример:

Чтобы посчитать непогашенный остаток после одного месяца надо придерживаться такого алгоритма:

  1. Считаем минимальный платеж, который можем сделать в месяце:
    minPay = outStandingBalance * monthlyPercentRate
  2. Считаем остаток, после минимального платежа:
    balanceAfterMinPay = outStandingBalance - minPay
  3. Считаем процент, который мы должны заплатить за использование карты в месяц:
    Percent = (yearlyPercentRate / 12.0) * balanceAfterMinPay
  4. Считаем непогашенный остаток в конце месяца:
    outStandingBalance = balanceAfterMinPay + Percent
Не забывайте что мы посчитали только для одного месяца.

Данные для проверки:

creditCardOutStanding - название функции
  1. creditCardOutStanding(3329,0.2,0.03) --> "Непогашенный Остаток составляет: 2816.55"
  2. creditCardOutStanding(341,0.12,0.053) --> "Непогашенный Остаток составляет: 207.63"
  3. creditCardOutStanding(168,0.15,0.06) --> "Непогашенный Остаток составляет: 92.81"
где "-->" означает после запуска программы

Что дальше ?:

Программа не выходит или работает не совсем точно, перейдите по ссылке solution и помотрите объяснение к решению проблемы, это вам поможет.

Если у вас все вышло, можете перейти по ссылке solution и сравнить свое решение с тем которое там есть.

Если ваше решение не совпадает с моим решение, то я за вас очень рад. Поделитесь им со мной, я буду вам очень боагодарен и тогда я добавлю его в папку solution. Как добавить свое решение смотрите тут.

Посмотрте решение или перейдите на Github страницу :