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

В круге стоят N человек. Они пронумерованы от 1 до N. Поочередно из круга начинает выходить каждый третий человек. Это продолжается до тех пор, пока в круге не останется последний человек. Определить его номер.     P.S.: Задачу решить на языке Pascal
Гость
Ответ(ы) на вопрос:
Гость
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. 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы