В Александрийской библиотеке множество шкафов. В каждом шкафу 7 полок, на каждой полке по 8 книг. Напишите программу, определяющую, в каком по номеру шкафу и на какой полке находится n-я книга (книги пронумерованы по порядку). Требуется вывести через пробел два целых числа — номер шкафа и номер полки, где находится n-я книга.
Язык питон, нельзя через конструкцию if
Давайте разберемся, как мы можем вычислить номер шкафа и номер полки.
1. Найдем общее количество книг в библиотеке:
Общее количество книг = количество шкафов * количество полок в каждом шкафу * количество книг на каждой полке
В нашем случае это будет:
Общее количество книг = 1 шкаф * 7 полок * 8 книг = 56 книг
Таким образом, у нас есть общее количество книг в библиотеке - 56.
2. Теперь мы можем вычислить номер шкафа, в котором будет находиться n-ая книга.
Номер шкафа = (n - 1) // (количество полок * количество книг на каждой полке) + 1
Ниже приведен пример кода на языке Python:
```
количество_шкафов = 1
количество_полок = 7
количество_книг_на_полке = 8
n = int(input("Введите номер книги: "))
номер_шкафа = (n - 1) // (количество_полок * количество_книг_на_полке) + 1
```
Разберем, что происходит в этом коде:
- Мы считываем номер книги от пользователя.
- Затем мы используем формулу для вычисления номера шкафа.
- Важно отметить, что мы используем (n - 1) в формуле, так как в программировании индексы обычно начинаются с 0, а не с 1.
3. После вычисления номера шкафа мы можем вычислить номер полки.
Номер полки = ((n - 1) % (количество полок * количество книг на каждой полке)) // количество книг на каждой полке + 1
Ниже приведен пример кода на языке Python:
```
номер_полки = ((n - 1) % (количество_полок * количество_книг_на_полке)) // количество_книг_на_полке + 1
```
В этом коде мы используем формулу для вычисления номера полки.
- Мы сначала находим остаток от деления (n - 1) на общее количество книг на полках.
- Затем используем этот остаток, чтобы найти номер полки, снова используя формулу и получившийся остаток от деления, но уже на количество книг на каждой полке.
- Важно отметить, что мы используем (n - 1) в формуле, так как в программировании индексы обычно начинаются с 0, а не с 1.
4. Наконец, выведем полученные номера шкафа и полки:
```
print("Номер шкафа:", номер_шкафа)
print("Номер полки:", номер_полки)
```
Этот код выведет номер шкафа и номер полки, которые мы вычислили.
Это решение позволяет определить номер шкафа и номер полки для любой книги в библиотеке, используя заданную формулу и введенное значение n.