«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2021/03/11 17:34:46  №1964165 1
image.png (34, 643x331)
331x643
анонче, почему так:
http://phpbook.ga/l1/loops.html
в уроке говорится, что всего выплат должно быть 61270 р. за 13 мес.

я поправил код по-своему:

if ($creditBalance < 5000) {
\t $paymentTotal = $creditBalance + $paymentTotal;
echo "С меня хватит!\n всего {$paymentTotal}";
break;
}

и у меня в 11 месяце остается 4к и всё какбэ
в чем прикол?
Ответы: >>1964479
Аноним 2021/03/11 22:30:08  №1964479 2
>>1964165
Ну, можно упростить, как там написано и расписать вручную алгоритм. Взять кредит не 40к, а 4к.

Через месяц с комиссией получается 4000 + 1000 + 40000.03 = 5120. Шкальник платит 5к, остается 120. Через месяц они превращаются в 1000 + 120 + 1200.03 = 1123,6. Шкальник выплачивает их и в итоге получается он заплатил 5000 + 1123,6 = 6123,6

При этом программа с таким кредитом выдаст следующее:

1 месяц спустя: долг = 120 руб, выплачено всего 5000 руб.
С меня хватит!


Т.е. видно что некорректно считается последняя выплата. Если взять данные из этой строки 12 месяц спустя: долг = 262.31722768997 руб, выплачено всего 60000 руб. и посчитать 60000 + 1000 + 262 + 2620.03 = 61 269,86

В твоей проверке $creditBalance < 5000 ты забываешь про косарь комиссии и проценты.

/
Если баланс отрицательный — хватит считать /
if (($creditBalance + $creditBalance
0.03 + 1000) < 5000) {
$sumTotal = $paymentTotal + 1000 + $creditBalance + $creditBalance*0.03;
echo "С меня хватит! Я выплатил {$sumTotal}";
break;
}
Ответы: >>1964481
Аноним 2021/03/11 22:31:22  №1964481 3
>>1964479
Блин, знак умножения исчез, короче где 0.03 там имеется в виду умножение