<?php

error_reporting(-1);

//Вводим количество учеников и количество слогов в считалке
$numberOfStudents = 30;
$numberOfSyllables = 5;
//Создаем массив, ключи которого соответствуют номеру ученика, а значение (1 или 0) укажет, остается ли ученик в числе претендентов
//на похавать, или идет мести двор
$arrayForSyllables = array_fill(1, $numberOfStudents, 1);
//Создадим переменную с текущим положением слога в считалке и переменную с количеством учеников в круге
$syllable = 0;
$studentsInCircle = 0;

//Создаем цикл, который начинается с расстановки в круг всех учеников и продолжается до тех пор, пока количество учеников будет
//больше или равно количеству слогов в считалке
for ($studentsInCircle = $numberOfStudents; $studentsInCircle >= $numberOfSyllables;) {
    //Перебираем элементы массива
    foreach ($arrayForSyllables as $numberPosition => &$eatCake) {
        //Проверяем, остались ли неиспользованные слоги в считалке после последнего прохода по кругу. Если да- продолжаем считалку
        //со слого $syllable, добавляя по слогу на каждого оставшегося в круге ученика
        if ($syllable != 0 and $eatCake == 1) {
            $syllable++;
        } elseif
        //Если остатка слогов нет, просто начинаем считалку, добавляя по слогу на каждого оставшегося в круге ученика
        ($eatCake == 1) {
            $syllable++;
        }
        //Если номер слога совпадает с количеством слогов в считалке, выгоняем ученика из круга (присваиваем $eatCake 0)
        // и обнуляем считалку
        if ($syllable == $numberOfSyllables) {
            $eatCake = 0;
            $syllable = 0;
        }
    }
    //Теперь посчитаем, сколько у нас осталось учеников в круге для проверки условия на следующей итерации
    $studentsInCircle = 0;
    foreach ($arrayForSyllables as $n) {
        if ($n != 0) {
            $studentsInCircle++;
        }
    }
}
//После выполнения цикла проходим по массиву и выписываем тех, кто остался в круге
$winnerPosition='';
foreach ($arrayForSyllables as $numberPosition => $eatCake){
    if ($eatCake==1){
        $winnerPosition=$winnerPosition . $numberPosition . ", ";
    }
}

echo "Выигрышные позиции: " . $winnerPosition;