Problem 6:
The sum of the squares of the first ten natural numbers is,
12 + 22 + ... + 102 = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 10)2 = 552 = 3025
Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 385 = 2640.
Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
问题6:
前10个自然数的平方的和为385,前十个自然数的和的平方为3025,他们的差为3025-385=2640。
求前一百个自然数的平方的和与和的平方的差。
方法一:
由题意
方法一
def f(n):
return sum(range(1,n+1))**2-sum(i**2 for i in range(1,n+1))
方法二:
(1+2+……+n)2=(n2*(n+1)2)/4
(12+22+……+n2)=(n*(n+1)*(2n+1))/6
(1+2+……+n)2-(12+22+……+n2)=(n2*(n+1)2)/4-(n*(n+1)*(2n+1))/6=(n*(n-1)*(n+1)*(3*n+2))/12
方法二
def f2(n):
return ((n+1)*n*(n-1)*(3*n+2))//12