Учитывая
\sum_{k=0}^{n}k^3 = \frac{n^2(n+1)^2}{4}
Мне нужно вычислить левую часть. Я должен составить список первых 1000 целочисленных кубов и суммировать их. Тогда я должен вычислить правую часть и к тому же. Кроме того, я должен сравнить вычислительное время для вышеуказанных методов.
То, что я до сих пор сделал, это:
import time
start = time.clock()
list = []
for n in range(0,1001):
list.append(n**3)
print(list)
print("List of the first 1000 integer cubes is:",list, "and their sum is:", sum(list))
stop = time.clock()
print("Computation time: ",stop-start, "seconds.")
a=0
for n in range (0,1001):
a=(int)(n*(n+1)/2)
print ("Sum of the first 1000 integer cubes is:",a*a)
Первая часть для левой стороны работает нормально, но проблема в правой стороне. Когда я наберу n = 4, я получу одинаковый результат для обеих сторон, но проблема возникает, когда n большое, потому что я получаю, что одна сторона больше другой, то есть они не одинаковы.
Также, вы можете помочь мне создать список для правой стороны, я пытался сделать что-то вроде этого:
a=[]
for n in range (0,10):
a.append(int)(n**2(n+1)**2/4)
Но это не работает.
В течение вычислительного времени, я думаю, я должен установить еще один таймер для правой стороны, но опять же я не уверен, как их сравнивать.
Любой совет приветствуется,