Считалочка - выбытие игроков, пока не останется три человека - Turbo Pascal
Формулировка задачи:
В круг выстраивается N-человек (N<50000). Начиная с первого, неизменно движутся по кругу и исключают каждого М-ого. Когда кто-то выбывает, круг смыкается. Счёт начинается заново со следующего человека в круге.
Процесс продолжается пока не остается ровно 3 человека.
вот мой вариант, но он не работает. подскажите пожалуйста как лучше?
Листинг программы
- const N=10;
- var M, i, i2, Y:integer;
- A:array [1..N] of integer;
- begin
- {Ввод М}
- readln (M);
- {Начало цикла, который будет находить каждый M-элемент, выводить его индекс и обновлять количество элементов}
- repeat
- for i:=1 to N do
- i2:=A[i]+M;
- Y:=A-A[i+M];
- write (i2);
- until Y=3;
- END.
Решение задачи: «Считалочка - выбытие игроков, пока не останется три человека»
textual
Листинг программы
- for j := i to N - 1 do Arr[j] := Arr[j + 1];
Объяснение кода листинга программы
- Перебор всех элементов массива от i до N-1
- Присвоение значения элементам массива, начиная с индекса i+1, значения из следующего элемента (i+1)
- Уменьшение индекса на единицу
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д