Как округлить число в меньшую сторону кратное числу?
Деление пополам могло навести на более компьютерные мысли.
Алгоритм нахождения такого числа для N участников при количестве победителей X:
Нацело поделить N на X, оставить в результате только старший значащий бит, умножить это на X.
187 / 5 = 37 = 100101b
100000b * 5 = 160
Легче сделать математически ,
<?php
$input = 187;
$output = 5;
$buf=log ( intdiv($input, $output ),2 );
echo(round ( $buf, 0 ,  PHP_ROUND_HALF_UP ) );
логарифм числа x -это такое число,что при возведения основания  этого логарифма в логарифм ты получаешь x. т.е вместо цикла можно просто взять логарифм .