Программирование на пайтоне! Срочно!
Пирамидки Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт Ваня хочет построить из кубиков 11 пирамидок. Он собирает пирамидки следующим образом: 1. Изначально в каждой пирамидке имеется по а1 кубиков в первом ряду. 2. В каждой второй пирамидке, т.е. номер которой делится на 2, к ним добавляется по а2 кубиков во второй ряд. 3. В каждой четвёртой пирамидке, т.е. номер которой делится на 4, добавляется по аз кубиков в третий ряд. 4. В каждой восьмой пирамидке, т.е. номер которой делится на 8, добавляется по ад кубиков в четвёртый ряд. И так далее. Выразим условие более формально: в каждой пирамидке, номер которой делится на (i - 1)-ую степень числа 2, к исходному числу кубиков а1 добавляется по а, кубиков в і ряд. Помогите Ване определить количество кубиков, которое ему нужно для построения всех пирамидок.
ох уж эти "олимпиадники"
Так решить поможешь? Плиз 🥺
def calculate_total_cubes(a1, a2, a3, a4):
total_cubes = 0
n = 11 # Количество пирамидок
# Для каждой пирамидки от 1 до 11
for i in range(1, n + 1):
cubes = a1 # Всегда добавляем кубики для первого ряда
if i % 2 == 0: # Если пирамидка кратна 2
cubes += a2
if i % 4 == 0: # Если пирамидка кратна 4
cubes += a3
if i % 8 == 0: # Если пирамидка кратна 8
cubes += a4
total_cubes += cubes
return total_cubes
# Ввод данных
a1 = int(input()) # Количество кубиков в первом ряду
a2 = int(input()) # Количество кубиков во втором ряду
a3 = int(input()) # Количество кубиков в третьем ряду
a4 = int(input()) # Количество кубиков в четвертом ряду
# Вывод результата
print(calculate_total_cubes(a1, a2, a3, a4))