Sum of N Natural Numbers in Python

We have to develop a Python program to find the sum of N natural numbers. Sum of natural number N as given as sum = 1+2+3+4+5+….+(N-1)+N. We can use the while or for loop to write the program. We can also develop a Python program without using the loop.

Examples:-
1+2+3+4+5+6 = 21
1+2+3+4+5+6+7+8+9+10 = 55

Python Program to Find Sum of N Natural Numbers

This python program using a while loop to find the sum of natural numbers. We will take a natural number while declaring the variables. Python program to find the sum of n natural numbers using while loop and finally, the result will be displayed on the screen.

# Python program to find sum of n natural numbers

# take input
num = int(input('Enter a number: '))

# find sum of natural number
sum = 0
x = 1
while x <= num:
 sum += x 
 x += 1

# display result
print('The sum of natural number =', sum)

Output for the different input values:-

Enter a number: 5
The sum of natural number = 15

Enter a number: 10
The sum of natural number = 55

Enter a number: 239
The sum of natural number = 28680

Python Program to Find Sum of N Natural Numbers using For loop

In the previous program, we will use the while loop but in this program, find the sum of n natural numbers using for loop.

# Python program to find sum of n natural numbers

# take input
num = int(input('Enter a number: '))

# find sum of natural number
sum = 0
for x in range (1, num+1):
 sum += x

# display result
print('The sum of natural number =', sum)

Output:-

Enter a number: 25
The sum of natural number = 325

Find the Sum of N Natural Numbers using Function

We can also take the help of a user-defined function. A function is a block of code that performs a specific task.

# Python program to find sum of n natural numbers using function

def findSum(num):  #user-defined function
    sum = 0
    x = 1
    while x <= num:
        sum += x
        x += 1
    return sum

# take input
num = int(input('Enter a number: '))

# display result
print('The sum of natural number =', findSum(num))

Output:-

Enter a number: 83
The sum of natural number = 3486

Sum of N Natural Numbers using Recursion

We can also use the recursion technique to find the sum of n natural numbers. A technique of defining the method/function that contains a call to itself is called recursion. The recursive function/method allows us to divide the complex problem into identical single simple cases that can handle easily. This is also a well-known computer programming technique: divide and conquer.

# Python program to find sum of n natural numbers using recursion

def findSum(num):  #user-defined function
 if(num == 0):
    return num
 else:
    return (num + findSum(num - 1))

# take input
num = int(input('Enter a number: '))

# display result
print('The sum of natural number =', findSum(num))

Output:-

Enter a number: 325
The sum of natural number = 52975

Enter a number: 1000
RuntimeError: maximum recursion depth exceeded in comparison

Other Efficient Program

This python program is very smallest and easy to understand. In this program, We will use only one formula to find the sum of natural numbers.

Formula:- n * (n+1) / 2

Examples:-
1+2+3+4+5+6 = 6 * (6+1) / 2 = 3 * 7 = 21
1+2+3+4+5+6+7+8+9+10 = 10 * (10+1) / 2 = 5 * 11 = 55

# Python program to find sum of n natural numbers

def findSum(num):  #user-defined function
    return num * (num+1) / 2

# take input
num = int(input('Enter a number: '))

# display result
print('The sum of natural number =', findSum(num))

Another Program

The above program causes an overflow, even if the result is not beyond the integer limit. We can avoid overflow up to some extent by doing division first.

# Python program to find sum of n natural numbers

def findSum(num):  #user-defined function
    if (num % 2 == 0) : 
        return (num/2) * (num+1) 
   
    # If num is odd, (n+1) must be even
    else : 
       return  ((num+1) / 2) * num

# take input
num = int(input('Enter a number: '))

# display result
print('The sum of natural number =', findSum(num))

Also See:- Sum of Digits of a Number in Python

If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or you find anything incorrect? Let us know in the comments. Thank you!

Leave a Reply