1 / 1 / 0
Регистрация: 05.09.2018
Сообщений: 1
1

Задача про лифт в небоскрёбе

05.09.2018, 18:58. Показов 948. Ответов 3
Метки нет (Все метки)

Есть задача.
В городе стоитнебоскрёб с 2022 этажами. В небоскрёбе есть лифт, который вмещает неограниченное количество людей. В лифт заходит 2021 человек. Каждому нужно на разный этаж. Также в небоскрёбе есть лестница. Лифт может остановиться только 1 раз. Спускаясь по лестнице вниз, человек чувствует упадок настроения на 1, за каждый этаж, а поднимаясь на 1 этаж, чувствует упадок настроения на 2. На каком этаже должен остановиться лифт, чтобы общий упадок настроения был минимален? При наличии нескольких вариантов, укажите самый низкий этаж. Пример: В небоскрёбе 4 этажа. В лифт входят 3 человека. Наименьший упадок настроения будет, если лифт остановиться на 3 или 4 этаже. Он будет равен 3. Здесь ответом является 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var pok,pok2,us,eth,teth1,hum,ned,veth,minned,teth,otvet:real;
begin;
pok:=0;
pok2:=0;
eth:=1;
hum:=2019;
veth:=2021;
Repeat 
begin;
eth:=eth+1;
teth:=eth;
repeat
begin;
 if teth-1 = 0
 then 
  begin;
  teth1:=eth;
  repeat
  begin;
  if teth1+1<>2021
  then
 begin;
  pok2:=pok2+2;
  ned:=ned+pok2;
  hum:=hum-1;
  teth1:=teth1+1;
 end;
 end;
  until teth1=2021; 
  end;
 else
  begin;
  pok:=pok+1;
  ned:=ned+pok;
  hum:=hum-1;
  if minned > ned then
   begin;
   minned:=ned;
   otvet:=eth;
   end;
  end;
until hum=0;
end;
end;
writeln(otvet);
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2018, 18:58
Ответы с готовыми решениями:

Задача про лифт
вот такая задача....помогите решить....заранее благодарю за помощь :friends: В небоскрёбе n этажей...

Задача про N этажей в небоскрёбе
В небоскрёбе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может...

В небоскребе сломался лифт. Человек должен подниматься по лестнице пешком
В небоскребе сломался лифт. Человек должен подниматься по лестнице пешком. Известно, что с...

Задача про лифт
В лифт на первом этаже 6ти этажного дома вошли 4 человека. Какова вероятность того что они выйдут...

3
1577 / 810 / 146
Регистрация: 13.06.2015
Сообщений: 3,174
05.09.2018, 21:51 2
Цитата Сообщение от PolskaGoose Посмотреть сообщение
Пытался подобрать решение.
Потому что надо не "подбирать решение", а составить функцию зависимости упадка настроения от этажа и найти её экстремум. Тогда всё решение в одну строку будет.
0
Эксперт Pascal/Delphi
2373 / 1288 / 1488
Регистрация: 29.08.2014
Сообщений: 4,617
06.09.2018, 05:07 3
PolskaGoose, так попробуй
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const Nmax=2022;
var
  a:array [1..Nmax] of longint;//упадок настроения каждого человека
  i,j:integer;
  k,l,m:longint;
begin
  for i:=2 to Nmax do begin
    for j:=1 to Nmax do a[i]:=0;
      //считаем упадок вверх
      for j:=i+1 to Nmax do a[j]:=a[j-1]+2;
      //считаем упадок вниз
      for j:=i-1 downto 2 do a[j]:=a[j+1]+1;
      //считаем общий упадок
      k:=0;
      for j:=2 to Nmax do k:=k+a[j];
      if (i=2) or (k<m) then begin
        m:=k;
        l:=i;
      end;
  end;
  writeln(l);
end.
0
Модератор
Эксперт по электронике
7702 / 3857 / 1493
Регистрация: 01.02.2015
Сообщений: 11,906
Записей в блоге: 2
08.09.2018, 09:41 4
"Упадки" это арифметические прогрессии - т.е. формулы. А значит, гипотетически можно дифференцировать и искать экстремум.

Пусть N - количество этажей, x - искомый номер этажа
https://www.cyberforum.ru/cgi-bin/latex.cgi?x=\bar{1,N}
Определим упадок настроения от движения вниз. Людей, живущих ниже этажа x ровно (x-2). Сумма снижения настроения по формуле арифметической прогрессии
https://www.cyberforum.ru/cgi-bin/latex.cgi?Sd=\frac{(x-1)(x-2)}{2}
Определим упадок настроения от движения вверх. Людей, живущих выше этажа x ровно (N-x). Сумма снижения настроения по формуле арифметической прогрессии с учётом удвоенного падения настроения
https://www.cyberforum.ru/cgi-bin/latex.cgi?Su=\frac{(N-x)(N-x+1)}{2}\cdot {2}=(N-x)(N-x+1)

Суммарное
https://www.cyberforum.ru/cgi-bin/latex.cgi?S=\frac{(x-1)(x-2)}{2}+(N-x)(N-x+1)=\frac{(x^2-3x+2)+2(N^2-Nx+N-Nx+x^2-x)}{2}=\frac{3x^2-x(4N+5)+2N^2+2N+2}{2}

Дифференцируем по x
https://www.cyberforum.ru/cgi-bin/latex.cgi?S'=\frac{6x-(4N+5)}{2}

Находим экстремум
https://www.cyberforum.ru/cgi-bin/latex.cgi?x=\frac{4N+5}{6}

Т.к. это целочисленная арифметика и возможно, что при целочисленном делении реальный экстремум на 1 больше полученного по формуле. Нужно вычислить целевую функцию S при x и при (x+1). Это будет быстрее вычислений во вложенных циклах. Причём, при вычислении целевой функции можно пренебречь неизменным слагаемым (2N2+2N+2) и не вычислять его.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2018, 09:41

Задача про лифт
В лифт сели 2n студентов.Сколькими способами они могут выйти на n этажах так,что бы на каждом этаже...

Задача про лифт
Пожалуйста, помогите!!! Завтра необходимо сдать.... Грузовой лифт, обсуживающий трехэтажный...

Задача про лифт
Здравствуйте. Ребят помогите пожалуйста, почти не разбираюсь в нем. В доме Вилли установили...

Задача про маятник и лифт
Маятник подвешен в лифте. Как изменится период колебаний маятника, если лифт начнет подниматься...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.