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
posted on 2011-05-06 17:14  class  阅读(774)  评论(0编辑  收藏  举报