Задать вопрос
19 марта, 19:28

В круге стоят N человек. Они пронумерованы от 1 до N. Поочередно из круга начинает выходить каждый третий человек. Это продолжается до тех пор, пока в круге не останется последний человек. Определить его номер.

P. S.: Задачу решить на языке Pascal

+3
Ответы (1)
  1. 19 марта, 20:59
    0
    Var a : array[1 ... 100] of integer;

    j, i, n, k, out_num, is_out : integer;

    Begin

    read (n) ; {всего людей}

    read (out_num) ; {номер выходящего, в задаче = 3}

    for i : = 1 to n do

    a[i] : = 1;

    i : = - 1;

    repeat

    i: = (i + 1) mod n;

    k : = k + a[i+1];

    if k = out_num then begin

    a[i+1] : = 0;

    is_out : = is_out + 1;

    k : = 0;

    writeln;

    for j : = 1 to n do write (a[j]:2) ;

    end;

    until n - is_out < = 1;

    writeln;

    for i : = 1 to n do

    if a[i] > 0 then writeln (i) ;

    End.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «В круге стоят N человек. Они пронумерованы от 1 до N. Поочередно из круга начинает выходить каждый третий человек. Это продолжается до тех ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы