Лучшие помощники
28 мая 2025 12:18
96

Вычислите номер этажа по номеру квартиры, если в доме шесть подъездов, 16 этажей, по 2 квартиры на каждом этаже. Код на питоне

1 ответ
Посмотреть ответы
Задача:

В доме 6 подъездов, в каждом — 16 этажей, на каждом этаже 2 квартиры. Получается, что в каждом подъезде 16 × 2 = 32 квартиры, а всего в доме 6 × 32 = 192 квартиры.

Для вычисления этажа по номеру квартиры надо определить, в каком подъезде находится квартира, а затем вычислить, на каком этаже в этом подъезде она расположена. Нумерация квартир идет последовательно по подъездам, то есть:

• Подъезд 1 содержит квартиры с 1 по 32,
• Подъезд 2 — с 33 по 64,
• и т.д.

Алгоритм:
1. Найдем номер подъезда: entrance = (n – 1) // 32 + 1.
2. Определим порядковый номер квартиры внутри подъезда:
  relative = (n – 1) % 32.
3. Определим этаж: floor = relative // 2 + 1 (так как на каждом этаже 2 квартиры).

Пример кода на Python:

--------------------------------------------------
# Функция, вычисляющая этаж по номеру квартиры
def get_floor(apartment_number):
apartments_per_entrance = 16 * 2 # 32 квартиры в подъезде
# Вычисляем позицию квартиры в пределах подъезда (от 0 до 31)
relative = (apartment_number - 1) % apartments_per_entrance
# Определяем этаж (нумерация этажей начинается с 1)
floor = relative // 2 + 1
return floor

# Пример использования
try:
apt_num = int(input("Введите номер квартиры: "))
if apt_num < 1 or apt_num > 192:
print("Номер квартиры должен быть в диапазоне от 1 до 192.")
else:
result = get_floor(apt_num)
print("Этаж квартиры:", result)
except ValueError:
print("Введите корректное число!")
--------------------------------------------------

Пояснение:
1. Выражение (apartment_number - 1) позволяет перейти к нумерации с 0, что удобно при делении.
2. Оператор // выполняет целочисленное деление, а оператор % — вычисляет остаток.
3. После нахождения номера этажа мы прибавляем 1, чтобы этажи начинались с 1 (а не с 0).
0
·
Хороший ответ
28 мая 2025 12:21
Остались вопросы?
Найти нужный