fork(1) download
  1. <?php
  2.  
  3.  
  4. function calc($creditBalance, $monthlyPayment, $percent, $servicePayment, $paymentTotal) {
  5. for ($month = 1; $month <= 20; $month ++) { /*Общий цикл с подсчётом расходов*/
  6.  
  7. $debt = ($creditBalance * $percent) + $servicePayment; /*Долг, который отличается от изначальной суммы (КредитБаланс)*/
  8.  
  9. if ($debt <= $monthlyPayment) { /*Если долг меньше суммы месячной выплаты или равен ей*/
  10.  
  11. $creditBalance = 0;
  12. $paymentTotal = $paymentTotal + $debt;
  13. echo "{$month} месяц(-ев) до {$creditBalance} руб. Должно быть выплачено всего {$paymentTotal} руб.\n";
  14. break;
  15. } else { /*Если долг остаётся больше суммы месячной выплаты*/
  16.  
  17. $creditBalance = ($creditBalance * $percent) + $servicePayment - $monthlyPayment;
  18. $paymentTotal = $paymentTotal + $monthlyPayment;
  19.  
  20. }
  21. }
  22. }
  23.  
  24. $creditBalance = 40000;
  25. $monthlyPayment = 5000;
  26. $homoCreditTotal = calc($creditBalance, $monthlyPayment, 1.04, 500, 0);
  27. $softBankTotal = calc($creditBalance, $monthlyPayment, 1.03, 1000, 0);
  28. $strawberryBankTotal = calc($creditBalance + 7777, $monthlyPayment, 1.02, 1000, 0);
  29.  
  30. echo "{$homoCreditTotal} \n";
  31. echo "{$softBankTotal} \n";
  32. echo "{$strawberryBankTotal} \n";
  33.  
  34. ?>
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
12 месяц(-ев) до 0 руб. Должно быть выплачено всего 56425.164153843 руб.
13 месяц(-ев) до 0 руб. Должно быть выплачено всего 61270.186744521 руб.
14 месяц(-ев) до 0 руб. Должно быть выплачено всего 69144.98425028 руб.