Sum square difference, Project Euler Problem 6

Sum square difference, Project Euler Problem 6

March 14, 2020
Project Euler
Project Euler, Python

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)) # ?