Calculate Sum of Natural Numbers in C++



In this article, we will write a C++ program to calculate the sum of the first n natural numbers. Natural numbers are positive numbers starting from 1(i.e., 1, 2, 3, ...). We will take a positive number n as input and find the sum of all natural numbers from 1 up to n.

Let's understand with examples:

Input:
n = 5
The sum of the first 5 natural numbers is:
1 + 2 + 3 + 4 + 5 = 15
Output: 15

Input:
n = 8
The sum of the first 8 natural numbers is:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36
Output: 36

Approaches for Calculating Sum of Natural Numbers

We can solve this problem in two ways:

Using a Loop

In this approach, we use a loop to add each natural number one by one until we reach the given number. It's a simple direct way to solve the problem by manually performing the addition inside the program.

Example

Here's a complete C++ program, where we take a natural number n, initialize a sum variable, and use a loop to add each number from 1 to n.

#include <iostream>
using namespace std;

int main() {
    int n = 5;
    int sum = 0;
    // loop for calculating sum manually
    for (int i = 1; i <= n; ++i) {
        sum += i;
    }
    cout << "The total of first "<<n<<
        " natural numbers is: " << sum << endl;
    return 0;
}

The output of the above program shows the sum of the first n natural numbers.

The total of first 5 natural numbers is: 15

Time Complexity: O(n), because we are running a loop n times.

Space Complexity: O(1).

Using a mathematical formula

In this approach, we use the formula sum = n * (n + 1) / 2 to directly calculate the sum of the first natural numbers. It's simple and fast because we don't use any loop or extra steps.

Example

Here's a C++ program that implements the above approach to calculate the sum.

#include <iostream>
using namespace std;

int main() {
    int n = 5;
    // appplying formula
    int sum = n * (n + 1) / 2;

    cout << "Summation result of first "<<n<<
        " natural numbers: " << sum << endl;
    return 0;
}

Below is the output for the sum of first 5 natural numbers:

Summation result of first 5 natural numbers: 15

Time Complexity: O(1), because only one calculation is needed.

Space Complexity: O(1).

Using Recursion

In this approach, we use a recursive function that keeps calling itself by decreasing the value of n by 1 until it reaches 1. At each step, the function adds the current number to the result of the recursive call with the previous value.

Example

Here's a C++ program that uses recursion to calculate the sum of the first n natural numbers.

#include <iostream>
using namespace std;

// Recursive function to calculate sum of first n natural numbers
int sumNatural(int n) {
    if (n == 1)  // base case: when n is 1, return 1
        return 1;
    return n + sumNatural(n - 1);  // recursive call
}

int main() {
    int n = 5;
    int sum = sumNatural(n);  
    // print the result
    cout << "Recursive sum of first " << n <<
        " natural numbers: " << sum << endl;
    return 0;
}

Below shows the output of the above program, where the sum of the first 5 natural numbers is calculated using recursion.

Recursive sum of first 5 natural numbers: 15

Time Complexity:O(n) because the function makes one call for each number from n to 1

Space Complexity:: O(n) because each recursive call adds a new frame to the call stack.

Updated on: 2025-05-09T15:31:03+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements