PRAIT
@PRAIT

Как правильно реализовать формулу определения?

Всем привет ребята, есть задача:
Есть девятиэтажный дом, в котором 4 подъезда. Номер подъезда начинается с единицы. На одном этаже 4 квартиры. Напишите программу которая получит номер квартиры с клавиатуры и выведет на экран на каком этаже, какого подъезда расположена эта квартира. Если такой квартиры нет в этом доме то нужно сообщить об этом пользователю.

Примерная формула такова:

X - номер квартиры 4*9=36
номер подъезда X div 36 + 1
этаж (Х mod 36) div 4 + 1


Нужно: 21 квартира
4 квартиры на этаже
9 этажный дом
4 подъезда

4 * 9 = 36 (квартир в подъезде)
(21 - 1) / 36 + 1 = 1; (1 Подъезд)
(21 - 1) % 36 / 4 + 1 = 6; (6 Этаж)

Смысл понятен, но не пойму зачем отнимать и прибавлять единицу обьясните пожалуйста или дайте ссылочку, буду благодарен!

И вот ещё смотрите что получается у нас:

5 этажный дом
4 подъезда
4 квартиры в подъезде

Нужна 31 квартира

5 * 4 = 20;
(31 - 1) / 20 + 1 = 11 (Подъезд)
(31 - 1) % 20 / 4 + 1 = (1 этаж)

Что - то тут неправильно, может я не понял как задачу решать? Буду благодарен за вашу помощь! Ведь в данном случае у нас получается 31 квартира находится на 3 этаже второго подъезда верно же?

Большое спасибо за внимание!
  • Вопрос задан
  • 1701 просмотр
Пригласить эксперта
Ответы на вопрос 1
@AltCtrlDel
(21 - 1) % 36 / 4 + 1 = 6; (6 Этаж)
Почему 4+1 если этажей 9
(21 - 1) % 36 / 4 + 1 = 6; (3 Этаж)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы