![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 26.05.2010
Сообщений: 34
|
![]()
В небоскребе N этажей и всего один подъезд на каждом этаже по четыре квартиры, лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужный ему квартиры M. На какой этаж должен доставить лифт пассажира? Что должен сообщить динамик на выходе: "Спуститься на один этаж", "Поднимитесь на один этаж".
Цитата:
Последний раз редактировалось Ins1De; 12.11.2011 в 20:32. |
|
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 13.11.2011
Сообщений: 10
|
![]()
>> if (N%4==0)
Зачем проверять количество этажей на кратность четырем? Не очень понял, что Вы имели ввиду, но вот как я вижу решение этой задачи: Номер этажа получается так: x = M/4 + 1; Далее, если номер этажа чётный, то уменьшаем его на единицу: if(x%2 == 0) x--; и сообщаем, что нужно подняться на один этаж вверх (ведь нулевого этажа у нас не будет, а первый существует всегда); иначе сообщаем, что мы на требуемом этаже. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а мне кажется, что номер этажа можно получить по формуле:
X := int((M-1)/4) + 1; дальше уже элементарно. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 13.11.2011
Сообщений: 10
|
![]()
Да, верно) Забыл поправку на нулевую квартиру))))
|
![]() |
![]() |