C Program to Find the Sum of Natural Numbers using Recursion

To understand this example, you should have the knowledge of the following C programming topics:


The positive numbers 1, 2, 3... are known as natural numbers. The program below takes a positive integer from the user and calculates the sum up to the given number.

Visit this page to find the sum of natural numbers using a loop.


Sum of Natural Numbers Using Recursion

#include <stdio.h>

int addNumbers(int n);

int main() {

  int num;
  printf("Enter a positive integer: ");
  scanf("%d", &num);
  printf("Sum = %d", addNumbers(num));
  return 0;
}

int addNumbers(int n) {
  if (n != 0)
    return n + addNumbers(n - 1);
  else
    return n;
}

Output

Enter a positive integer: 20
Sum = 210

Suppose the user entered 20.

Initially, addNumbers() is called from main() with 20 passed as an argument.

The number 20 is added to the result of addNumbers(19).

In the next function call from addNumbers() to addNumbers(), 19 is passed which is added to the result of addNumbers(18). This process continues until n is equal to 0.

When n is equal to 0, there is no recursive call. This returns the sum of integers ultimately to the main() function.