Считалочка - выбытие игроков, пока не останется три человека - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

В круг выстраивается N-человек (N<50000). Начиная с первого, неизменно движутся по кругу и исключают каждого М-ого. Когда кто-то выбывает, круг смыкается. Счёт начинается заново со следующего человека в круге. Процесс продолжается пока не остается ровно 3 человека.
Листинг программы
  1. const N=10;
  2. var M, i, i2, Y:integer;
  3. A:array [1..N] of integer;
  4. begin
  5. {Ввод М}
  6. readln (M);
  7. {Начало цикла, который будет находить каждый M-элемент, выводить его индекс и обновлять количество элементов}
  8. repeat
  9. for i:=1 to N do
  10. i2:=A[i]+M;
  11. Y:=A-A[i+M];
  12. write (i2);
  13. until Y=3;
  14. END.
вот мой вариант, но он не работает. подскажите пожалуйста как лучше?

Решение задачи: «Считалочка - выбытие игроков, пока не останется три человека»

textual
Листинг программы
  1.  for j := i to N - 1 do Arr[j] := Arr[j + 1];

Объяснение кода листинга программы

  1. Перебор всех элементов массива от i до N-1
    1. Присвоение значения элементам массива, начиная с индекса i+1, значения из следующего элемента (i+1)
    2. Уменьшение индекса на единицу

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы