Create sum_of_squares.py

This commit is contained in:
Byte Bender 2024-10-10 10:13:36 +05:30 committed by GitHub
parent e9e7c96465
commit 37c0953597
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

31
maths/sum_of_squares.py Normal file
View File

@ -0,0 +1,31 @@
"""
This script demonstrates the implementation of the sum of squares of the first n natural numbers.
The function takes an integer n as input and returns the sum of squares
from 1 to n using the formula n(n + 1)(2n + 1) / 6. This formula computes the sum efficiently
without the need for iteration.
"""
def sum_of_squares(n: int) -> int:
"""
Implements the sum of squares formula for the first n natural numbers.
Parameters:
n (int): A positive integer representing the limit of the series
Returns:
sum_squares (int): The sum of squares of the first n natural numbers.
Examples:
>>> sum_of_squares(5)
55
>>> sum_of_squares(10)
385
"""
return n * (n + 1) * (2*n + 1) // 6
if __name__ == "__main__":
import doctest
doctest.testmod()