Весенние старты 2026 з3
Конкурс юных программистов «Весенние старты» 2026
Номинация "Решение программистских задач"
Автор заданий Г.Б. Рейнгольд
Задача C. Кубики-2 (20 баллов)
В этой задаче используется строение из кубиков, как в задаче C (см. рисунок).
Задаётся общее количество кубиков, которые ушли на постройку и номер этажа.
Сделать программу, которая подсчитает, сколько кубиков находится в этаже с заданным номером.
Пример:
Вход – 84 7
Выход – 7
Формат входных данных: строка, в которой два целых положительных числа. Первое <=985746601 (количество кубиков в постройке), второе <=22201 (номер этажа).
Формат выходных данных: одно целое число (количество кубиков в заданном этаже).
Лимит времени на прохождение одного теста – 1 секунда.
Авторское решение (Python)
# Весенние старты 2026
# Задача C "Кубики-2"
# Автор Г.Б. Рейнгольд
# Авторское решение
#
# Для решения этой задачи нужно разобраться
# с задачей D "Кубики-1".
# Также понадобятся навыки работы с массивами, хотя можно оойтись и без них.
nn, ne = map(int, input().split()) # Ввод данных количество кубиков в постройке
# и номер этажа
ke = 1 # Количество этажей
k = 1 # Количество кубиков в стороне квадрата этажа
nnn = 1 # Общее количество кубиков, необходимых для постройки
ske = [1] # В этом списке количества кубиков в этажах (нумерация наоборот)
while nnn < nn: # Главный цикл
k += 2
nnn += k ** 3
ke += k
i = 1
while i <= k:
ske.append(k**2) # Добавка сразу k этажей,
# количество кубиков в этаже равно квадрату стороны.
i += 1
n = len(ske) # Количество этажей
nkke = n - ne # индекс в массиве с учётом его перевёрнутости
print(ske[nkke])
Свидетельство о публикации №226050601300
Александр Михельман 06.05.2026 16:48 Заявить о нарушении