-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpe6.py
More file actions
25 lines (21 loc) · 899 Bytes
/
pe6.py
File metadata and controls
25 lines (21 loc) · 899 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
############################################################################################################################
#
# Problem 6
#
# 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.
#
# Ans: 25164150
############################################################################################################################
def sumOfSquares(n: int) -> int:
'''Straightforward implementation using a generator'''
return sum(i**2 for i in range(1, n+1))
def squareOfSum(n: int) -> int:
'''Analytical formula for the sum of the frist n natrual numbers'''
return ((n * (n + 1)) // 2) ** 2
if __name__ == "__main__":
print(squareOfSum(100) - sumOfSquares(100))