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

     

     

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

Ответы 1

  • 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. 
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years