Sum square difference, Project Euler Problem 6
March 14, 2020
https://projecteuler.net/problem=6
「2乗の数列の和」と「数列の和の2乗」をそれぞれ求めて、それらの差を求める問題。2乗の数列の和の一般解を求めて関数化してもいいが、項数100なので強引に計算してしまう。
Solution #
def sum_of_squares(n):
sum = 0
for i in range(1, n + 1):
sum += i ** 2
return sum
def square_of_sum(n):
sum = 0
for i in range(1, n + 1):
sum += i
return sum ** 2
def difference(n):
return square_of_sum(n) - sum_of_squares(n)
print(sum_of_squares(10)) # 385
print(square_of_sum(10)) # 3025
print(difference(10)) # 2640
print(difference(100)) # ?