Top.Mail.Ru
Ответы

Программирование на пайтоне! Срочно!

Пирамидки Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт Ваня хочет построить из кубиков 11 пирамидок. Он собирает пирамидки следующим образом: 1. Изначально в каждой пирамидке имеется по а1 кубиков в первом ряду. 2. В каждой второй пирамидке, т.е. номер которой делится на 2, к ним добавляется по а2 кубиков во второй ряд. 3. В каждой четвёртой пирамидке, т.е. номер которой делится на 4, добавляется по аз кубиков в третий ряд. 4. В каждой восьмой пирамидке, т.е. номер которой делится на 8, добавляется по ад кубиков в четвёртый ряд. И так далее. Выразим условие более формально: в каждой пирамидке, номер которой делится на (i - 1)-ую степень числа 2, к исходному числу кубиков а1 добавляется по а, кубиков в і ряд. Помогите Ване определить количество кубиков, которое ему нужно для построения всех пирамидок.

По дате
По рейтингу
Аватар пользователя
Мастер

ох уж эти "олимпиадники"

Аватар пользователя
Ученик

Так решить поможешь? Плиз 🥺

Аватар пользователя
Ученик
12345678910111213141516171819202122232425
 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))  


Видео по теме