Таким образом, наибольшую помощь я видел из этой ветки здесь: Распределение призов для системы турниров .
Я читал несколько других, но их не быломне это не поможет, потому что я говорю на каком-то языке или просто из серии букв, которые немного трудно понять.
Так что мой выигрыш, например, 482.17
распределен по 45 участникам, что я хочу сделатьраспределить это значение с интервалами в 15%.
Из предыдущего потока я сделал все возможное, чтобы перевести это
int i;
int prizes[21];
int money=1000;
for(i = 1; i <= 20; i++){
prizes[i] = (float) (15+(20-i)) / 100 * money;
money -= prizes[i];
fprintf(g,"%d) %d\n",i,prizes[i]);
}
на PHP, что я и имею ниже.
$Points = 482.17
$countPlayers = 45;
for ($i = 0; $i < $countPlayers; $i++) {
/* Calculate Points */
$reward = (float) (15 + ($countPlayers - $i)) / 100 * $Points;
$Points -= $reward;
echo $getPlayers[i] . " - " . $Points;
}
Таким образом, обычно 15% от 482.17
должно быть 72.33
, то есть 1-е место должно получить это значение.Но вместо этого он возвращает значение 164.26
.Хотя пример утверждает, что делает это 30%, но даже 30% из 482,17 это 144.65