В Александрийской библиотеке множество шкафов. В каждом шкафу 7 полок, на каждой полке по 8 книг. Напишите программу, определяющую, в каком по номеру шкафу и на какой полке находится n-я книга (книги пронумерованы по порядку). Требуется вывести через пробел два целых числа — номер шкафа и номер полки, где находится n-я книга.
Язык питон, нельзя через конструкцию if

yannashipunova yannashipunova    3   07.11.2020 21:32    177

Ответы
infernyc infernyc  08.01.2024 12:53
Для решения этой задачи мы можем использовать арифметические операции, чтобы вычислить номер шкафа и номер полки, на которой находится n-ая книга.

Давайте разберемся, как мы можем вычислить номер шкафа и номер полки.

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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика