По условию на каждый этаж нужно ровно одному магу.
Пусть n - искомый (самый выгодный этаж для остановки), тогда магу живущему на n этаже не придется идти ни вверх, ни вниз.
Вверх нужно подняться 2020-n магам, на на 1, 2, 3, …, 2021-n этажей соответственно. Вниз придётся спускаться n-1 магу, на 1,2,3,…, n-1 этажей.
Подсчитаем общее количество неудовольствий с учётом того, что маги не любят подниматься вверх в двойне.
Заметим, что минимум полученного квадратного трёхчлена достигается в точке n= . В силу того, что n – целое, а также парабола имеет ось симметрии, лифт должен подняться на 1441 этаж (минимум точки 1440,52)округляем до целого.
ответ:1441
P.S. не уверен, что это так, но в принципе, должно быть правильно
for <переменная> := <начальное_значение> to <конечное значение> do
begin//если операций, производимых в цикле, больше 1
end;//если операций, производимых в цикле, больше 1
Принцип работы:
Выполняем тело цикла(операции, которые там размещены(внутри begin..end;), затем увеличиваем переменную-параметр на 1(инкрементируем). Например, такой цикл будет итерировать 3 раза:
for i:= 1 to 3 do writeln(i:3);. На каждой итерации будет выведено значение переменной-параметра в данный момент(1 2 3 - итог)
По условию на каждый этаж нужно ровно одному магу.
Пусть n - искомый (самый выгодный этаж для остановки), тогда магу живущему на n этаже не придется идти ни вверх, ни вниз.
Вверх нужно подняться 2020-n магам, на на 1, 2, 3, …, 2021-n этажей соответственно. Вниз придётся спускаться n-1 магу, на 1,2,3,…, n-1 этажей.
Подсчитаем общее количество неудовольствий с учётом того, что маги не любят подниматься вверх в двойне.
Заметим, что минимум полученного квадратного трёхчлена достигается в точке n= . В силу того, что n – целое, а также парабола имеет ось симметрии, лифт должен подняться на 1441 этаж (минимум точки 1440,52)округляем до целого.
ответ:1441
P.S. не уверен, что это так, но в принципе, должно быть правильно
Структура цикла:
for <переменная> := <начальное_значение> to <конечное значение> do
begin//если операций, производимых в цикле, больше 1
end;//если операций, производимых в цикле, больше 1
Принцип работы:
Выполняем тело цикла(операции, которые там размещены(внутри begin..end;), затем увеличиваем переменную-параметр на 1(инкрементируем). Например, такой цикл будет итерировать 3 раза:
for i:= 1 to 3 do writeln(i:3);. На каждой итерации будет выведено значение переменной-параметра в данный момент(1 2 3 - итог)