«отрезка прямой»,
«отрезка прямой», от следующего отличается изменением значений приращений индексов. Внесем номер приращения в параметр рекурсии и получаем короткую и изящную программу. Разумеется, этими вариантами не исчерпывается все множество возможных решений задачи.
r89_4 Идея решения. Номера спортсменов записываются первоначально в массив А, номера удаляемых спортсменов - в массив В. Процесс продолжается до тех пор, пока в А есть элементы. Другое решение основано на использовании множественного типа данных - задачу можно считать учебной при его изучении. Фрагмент реализации.
var A:set of byte;
i:integer;
begin
...
A:=[1..N]; {в кругу все спортсмены}
i:=<номер спортсмена, с которого начинается счет>;
repeat {считаем, до тех пор, пока в кругу есть спортсмены}
for j:=1 to k do{пропускаем k спортсменов}
repeat
i:=i mod n+1;
until i in A;{находим очередного спортсмена}
<номер i записываем в массив или выводим на экран>;
A:=A-[i];{исключаем номер i из множества
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа