Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 04.02.2017
Сообщений: 3
1

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

04.02.2017, 11:41. Показов 4235. Ответов 3
Метки нет (Все метки)

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

Название: 1.png
Просмотров: 39

Размер: 18.2 Кб

Например, если в круге стояло 7 человек, то его поочерёдно покинут 3, 6, 2, 7, 5, 1. Оставшимся будет человек, стоявший на 4 месте.

Была идея решить через строки, но провалилась.
И пожалуйста с объяснениями в программе через //.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2017, 11:41
Ответы с готовыми решениями:

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

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

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

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

3
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
04.02.2017, 11:57 2
В круге стоят N человек
0
5079 / 2651 / 2349
Регистрация: 10.12.2014
Сообщений: 10,028
06.02.2017, 07:51 3
Вот так списками:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
type
  tList = class
    N : Integer;
    P, X : tList;
  end;
  
function CreateList(n : Integer) : tList;
begin
  Result := New tList; Result.N := 1;
  var Last := Result;
  for var i := 2 to n do
    begin
      var tmp := New tList; tmp.N := i; tmp.P := Last;
      Last.X := tmp; Last := tmp;
    end;
  Last.X := Result; Result.P := Last;
end;
 
procedure ExcludeList(var Cur : tList);
begin
  var tmp := Cur.X.X;
  Cur := tmp.X;
  tmp.P.X := Cur; Cur.P := tmp.P;
end;
 
begin
  var L := CreateList(ReadLnInteger('N ='));
  while L <> L.X do
    ExcludeList(L);
  WriteLn(L.N);
end.
0
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
06.02.2017, 10:31 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  a:array of boolean;
  n,i,j,k:integer;
begin
  write('n=');readln(n);
  SetLength(a,n+1);
  while j<n do begin
    while k<3 do begin 
      i:=(i+1) mod n;
      if not a[i] then k:=k+1;
     end;
      a[i]:=true;
      j:=j+1;
      k:=0;
   end;
   if n<3 then i:=n;
  writeln('Последний:',i);
end.
0
06.02.2017, 10:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2017, 10:31
Помогаю со студенческими работами здесь

колькими способами из группы в 25 человек можно сформировать 5 подгрупп по 5 человек?
Сколькими способами из группы в 25 человек можно сформировать 5 подгрупп по 5 человек?

Определить количество человек, рост которых больше среднего роста всех 25 человек
Рост 25 человек задан одномерным массивом. определить количество человек рост которых больше...

Человек стартует с нулевого километра со скоростью V. На каком километре будет человек через T часов
Длинна дорого равна 109 км. Человек стартует с нулевого километра со скоростью V. На каком...

Для N человек с заданной датой рождения вывести сообщение, в какой декаде родился человек
Создайте структуру Дата с элементами День, Месяц, Год. Для N человек с заданной датой рождения...

Реализовать классы «Человек», «Человек и Женщина»
Согласно мифам о создании авраамических религий, Адам и Ева были первыми людьми, которые бродили по...

По заданию, человек каждый год отправляется на Луну
Здравствуйте уважаемые гости и пользователи данного форума! Не отказалась бы от Вашей помощи в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru