Кредит означає отримання коштів під певний відсоток. При
цьому існує обов'язковий мінімальний щомісячний платіж, який необхідно
сплачувати. Наприклад, кредит у 5000 гривень під 18% з обов'язковим щомісячним
погашенням 2%.
Місяць
Баланс (потрібно сплатити)
Платіж
Залишок
Ставка
0
5000
100=5000*0,02
4900=5000-100
73,50=(0,18/12)*4900
1
4973,50=4900+73,50
99,47=4973,50*0,02
4874,03=4973,50-99,47
73,11=(0,18/12)*4874,03
2
4947,14=4874,03+73,11
98,94=4974,14*0,02
4848,20=4947,14-98,94
72,72=(0,18/12)*4848,20
За рік буде сплачено всього 1165,63 гривні, а баланс рахунку
становитиме 4691,11 (як бачимо, віддавати кредит на таких умовах зовсім
невигідно)
Складіть програму, котра, за введеними даними: сума кредиту,
кредитний відсоток та мінімальний платіж, надає річну роздруківку кредиту.
Наприклад, вхідні дані:
Баланс=4213
Відсоток=0,2
Платіж=0,04
Місяць: 1
Сплачено у поточному місяці: 168.52
Залишок (баланс): 4111.89
Місяць: 2
Сплачено у поточному місяці: 164.48
Залишок (баланс): 4013.2
Місяць: 3
Сплачено у поточному місяці: 160.53
Залишок (баланс): 3916.89
Місяць: 4
Сплачено у поточному місяці: 156.68
Залишок (баланс): 3822.88
Місяць: 5
Сплачено у поточному місяці: 152.92
Залишок (баланс): 3731.13
Місяць: 6
Сплачено у поточному місяці: 149.25
Залишок (баланс): 3641.58
Місяць: 7
Сплачено у поточному місяці: 145.66
Залишок (баланс): 3554.19
Місяць: 8
Сплачено у поточному місяці: 142.17
Залишок (баланс): 3468.89
Місяць: 9
Сплачено у поточному місяці: 138.76
Залишок (баланс): 3385.63
Місяць: 10
Сплачено у поточному місяці: 135.43
Залишок (баланс): 3304.38
Місяць: 11
Сплачено у поточному місяці: 132.18
Залишок (баланс): 3225.07
Місяць: 12
Сплачено у поточному місяці: 129.0
Залишок (баланс): 3147.67
Всього сплачено: 1775.55
Баланс на кінець року: 3147.67
Наприклад, вхідні дані:
Баланс=4842
Відсоток=0,2
Платіж=0,04
Місяць: 1
Сплачено у поточному місяці: 193.68
Залишок (баланс): 4725.79
Місяць: 2
Сплачено у поточному місяці: 189.03
Залишок (баланс): 4612.37
Місяць: 3
Сплачено у поточному місяці: 184.49
Залишок (баланс): 4501.68
Місяць: 4
Сплачено у поточному місяці: 180.07
Залишок (баланс): 4393.64
Місяць: 5
Сплачено у поточному місяці: 175.75
Залишок (баланс): 4288.19
Місяць: 6
Сплачено у поточному місяці: 171.53
Залишок (баланс): 4185.27
Місяць: 7
Сплачено у поточному місяці: 167.41
Залишок (баланс): 4084.83
Місяць: 8
Сплачено у поточному місяці: 163.39
Залишок (баланс): 3986.79
Місяць: 9
Сплачено у поточному місяці: 159.47
Залишок (баланс): 3891.11
Місяць: 10
Сплачено у поточному місяці: 155.64
Залишок (баланс): 3797.72
Місяць: 11
Сплачено у поточному місяці: 151.91
Залишок (баланс): 3706.57
Місяць: 12
Сплачено у поточному місяці: 148.26
Залишок (баланс): 3617.62
Всього сплачено: 2040.64
Баланс на кінець року: 3617.62
Другий тип кредиту передбачає фіксований платіж щомісяця
протягом усього терміну кредитування (12 місяців). У даному випадку потрібно
підібрати таку суму платежу, кратну 10 гривням, щоб за рік виплатити кредит
згідно з початковими умовами.
Випробовуємо різні щомісячні платежі, починаючи із суми 10
гривень, зупиняючи пошук, коли розрахунок покаже, що кредит можна виплатити
протягом року.
Для розрахунку потрібно:
1) Розділити річний відсоток на 12 місяців, отримавши щомісячний
відсоток
2) Від балансу станом на початок місяця відняти щомісячний
платіж
3) Оновити баланс, додавши до нього (баланс*щомісячний
відсоток)
Наприклад, кредит у 3329 гривень під 20% річних можна
виплатити за рік щомісячними платежами у 310 гривень.
Спробуємо знайти більш точну суму мінімального щомісячного
платежу, ніж у задачі 2. Можете зауважити, що для досить великих чисел, при
заданні більшої точності пошуку (наприклад, не з точністю до 10 гривень, а до
копійок), програма працюватиме значно повільніше.
Застосуємо метод двійкового пошуку, котрий є простим у
реалізації, але при цьому значно швидшим . Метод полягає у порівнянні
серединного елемента масиву з шуканим значенням, і повторенням алгоритму для
тієї або іншої половини, залежно від результату порівняння.
Найменша можлива щомісячна сума сплати = 1/12 початкового
кредиту.
Найбільша можлива щомісячна сума сплати = баланс+баланс*річний
відсоток/12
Слід врахувати, що при такому підборі значення варто передбачити неточний збіг кінцевої суми, тобто задати певну точність, з якою відбуватимуться розрахунки. Наприклад, abs(proba)>0.005
Дані для перевірки
Test Case 1:
баланс = 320000
відсоток = 0.2
мінімальний платіж: 29157.09
Test Case 2:
баланс = 999999
відсоток = 0.18
мінімальний платіж: 90325.03