Difference of Squares in Python
문제
Difference of Squares in PythonFind the difference between the square of the sum and the sum of the squares of the first N natural numbers.
참고할 자료와 개념
- Learn Python in Y Minutes
- python 공식 문서 Tutorial : 4.3 range
- python 공식 문서 내장 함수 : sum
- python 공식 문서 내장 함수 : map
- python 공식 문서 Tutorial : 4.8.6. 람다 표현식
- python 공식 문서 Tutorial : 5.1.3. List Comprehensions
풀이된 예제
명령형
def square_of_sum(number):
total = 0
for n in range(1, number + 1):
total += n
return total * total
def sum_of_squares(number):
result = 0
for n in range(1, number + 1):
result += n * n
return result
def difference_of_squares(number):
return square_of_sum(number) - sum_of_squares(number)
pythonic iterartor
def square_of_sum(number):
return sum(range(1, number + 1)) ** 2
def sum_of_squares(number):
return sum(n * n for n in range(1, number + 1))
def difference_of_squares(number):
return square_of_sum(number) - sum_of_squares(number)
map과 lambda
def square_of_sum(number):
return sum(range(1, number + 1)) ** 2
def sum_of_squares(number):
return sum(map(lambda n: n * n, range(1, number + 1)))
def difference_of_squares(number):
return square_of_sum(number) - sum_of_squares(number)
수학
def square_of_sum(number):
return (n * (n + 1) / 2) ** 2
def sum_of_squares(number):
return n * (n + 1) * (2 * n + 1) / 6
def difference_of_squares(number):
return square_of_sum(number) - sum_of_squares(number)