fork download
  1. <?php
  2. function calcCredit($creditSum, $payout, $bankName, $percent, $servicePayment, $openingAccountPayment)
  3. {
  4. $creditSum += $openingAccountPayment;
  5. $paymentTotal = 0 + $openingAccountPayment;
  6.  
  7. for ($month = 0; $creditSum > 0; $month++) {
  8. $creditSum = ($creditSum * $percent) + $servicePayment;
  9. if ($creditSum < $payout) {
  10. $paymentTotal += $creditSum;
  11. $creditSum -= $creditSum;
  12. } else {
  13. $creditSum -= $payout;
  14. $paymentTotal += $payout;
  15. }
  16. }
  17.  
  18. $paymentTotal = round($paymentTotal, 2);
  19. return [
  20. "bankName" => $bankName,
  21. "paymentTotal" => $paymentTotal,
  22. "month" => $month
  23. ];
  24. }
  25.  
  26. $creditOffers = [
  27. "homoCredit" => ["Homo Credit", 1.04, 500, 0],
  28. "softBank" => ["Soft Bank", 1.03, 1000, 0],
  29. "strawberryBank" => ["Strawberry Bank", 1.02, 0, 7777],
  30. ];
  31. $creditSum = 39999;
  32. $payout = 5000;
  33. $bestOffer = "";
  34. $minTotalPayment = 9999999;
  35.  
  36. foreach ($creditOffers as $offer) {
  37. $bankResult = calcCredit($creditSum, $payout, ...$offer);
  38. echo "Использовав банк {$bankResult["bankName"]}, школьник заплатит {$bankResult["paymentTotal"]} за {$bankResult["month"]} месяцев\n";
  39.  
  40. if ($bankResult["paymentTotal"] < $minTotalPayment) {
  41. $minTotalPayment = $bankResult["paymentTotal"];
  42. $bestOffer = $bankResult["bankName"];
  43. }
  44. }
  45.  
  46. echo "Самое выгодное предложение в банке $bestOffer";
Success #stdin #stdout 0.02s 24540KB
stdin
Standard input is empty
stdout
Использовав банк Homo Credit, школьник заплатит 56423.56 за 12 месяцев
Использовав банк Soft Bank, школьник заплатит 61268.72 за 13 месяцев
Использовав банк Strawberry Bank, школьник заплатит 61336.87 за 11 месяцев
Самое выгодное предложение в банке Homo Credit