Мини-урок · перед практикой

Сумма кубов

Сумма кубов первых 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.