Задача Задача №3394865
А
А
Вот детальное решение задачи и пример программы на Python.
Цель задачи: написать программу, вычисляющую сумму кубов чисел от 25 до 55 включительно.
- Как посчитать сумму без перебора
- Используем известную формулу для суммы кубов: сумма k^3 от k=1 до n равна (n(n+1)/2)^2.
- Тогда сумма кубов от 25 до 55 равна S(55) - S(24), где S(n) = (n(n+1)/2)^2.
- Вычисления:
- S(55) = (5556/2)^2 = (5528)^2 = 1540^2 = 2 371 600
- S(24) = (2425/2)^2 = (2412.5)^2 = 300^2 = 90 000
- Разница: 2 371 600 - 90 000 = 2 281 600
Итого сумма кубов от 25 до 55 равна 2 281 600 (число без запятых: 2281600).
- Пример кода (Python)
- Вариант 1: через формулу def sum_cubes_range(a, b): def sum_cubes_upto(n): return (n * (n + 1) // 2) ** 2 return sum_cubes_upto(b) - sum_cubes_upto(a - 1)
print(sum_cubes_range(25, 55)) # выводит 2281600
- Вариант 2: через простой перебор (проверочный, менее эффективно) total = sum(n ** 3 for n in range(25, 56)) # 56, чтобы учесть 55 print(total) # 2281600
- Что можно изменить в зависимости от условий
- Если нужно вычислить сумму кубов для произвольного диапазона [A, B], достаточно вызвать sum_cubes_range(A, B) или заменить range на соответствующий диапазон.
- Для других языков это реализуется аналогично: использовать формулу суммы кубов до n и вычесть до a-1, или просто суммировать по диапазону.
Если хочешь, могу привести аналогичные решения на C++ или Java.