Сумма кубов
Сумма кубов первых n чисел равна квадрату их суммы.
Как к ней подойти
Научитесь замечать повторяющееся действие и аккуратно собирать результат в цикле for.
Цикл for подходит, когда известно, сколько раз нужно повторить действие. Перед циклом задайте начальное значение результата, внутри обновляйте его, а после цикла выводите итог. Проверьте, входит ли последняя граница в range().
Используем тождество 1³+…+n³ = (n(n+1)/2)². Целочисленное деление сохраняет точность.
Проверьте перед запуском
- При вычислении треугольного числа используйте //, а не /.
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение
Используем тождество 1³+…+n³ = (n(n+1)/2)². Целочисленное деление сохраняет точность.
n = int(input())
s = n * (n + 1) // 2
print(s * s)
Время: O(1) арифметических операций; стоимость зависит от длины целых. Память: O(1) числовых переменных, размер чисел зависит от n.
Ещё один способ
Прямое суммирование буквально повторяет условие; полезно для понимания и проверки формулы.
n = int(input())
total = 0
for i in range(1, n + 1):
total += i ** 3
print(total)
Время: O(n) арифметических операций; стоимость зависит от длины целых. Память: O(1) числовых переменных, размер чисел зависит от n.