Сумма кубов
Вы решили задачу. Теперь можно сравнить подходы.
Сумма кубов первых n чисел равна квадрату их суммы.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Рекомендуемый подход
Используем тождество 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.
На что обратить внимание
- При вычислении треугольного числа используйте //, а не /.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.