3 different C programs to find the sum of first n odd natural numbers

C program to find the sum of first n odd natural numbers:

This post will show you how to find the sum of first n odd natural numbers in C. The program will take the value of n as the input from the user and print the sum.

A number is called odd if it is not divisible by 2. Before we start writing the program, let’s learn the algorithm to use in the program.

Algorithm:

We have to use one loop to iterate from 1 to calculate the final sum.

We can use one loop and check for each value if it is an odd or even:

  • Run one loop from 1.
  • Initialize a sum variable as 0 to hold the final sum of all odd numbers. Initialize another variable as 0 to hold the total count of odd numbers found.
  • For each value, check if it is odd or even. If it is odd, add it to the sum variable.
  • If the count variable is equal to n, exit from the loop.
  • Once the loop ends, print the value of the sum variable.

We can also run a loop from 1 with an increment of 2 on each iteration. This will skip all even numbers and it will iterate only the odd values. We can add all numbers it is iterating to get the final sum.

Method 1: C program to find the sum of odd natural numbers by using a for loop:

Let’s write a program that uses a for loop to find the sum of first n odd numbers starting from 1. It will take the value of n as an input from the user.

#include <stdio.h>

int getOddSum(int n)
{
    int sum = 0, count = 0;

    for (int i = 1;; i++)
    {
        if (i % 2 != 0)
        {
            sum += i;
            count++;
        }
        if (count == n)
            break;
    }
    return sum;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of first %d odd numbers is: %d\n", n, getOddSum(n));
}

Here,

  • The program is asking the user to enter the value of n. This value is stored in the variable n.
  • It calls the getOddSum method to get the sum of the first n odd numbers starting from 1.
  • It uses a for loop that runs from 1 . On each iteration, it checks the value of i. If it is odd, it adds it to the variable sum.
  • It uses the count variable to hold the number odd variables added. Once it is equal to n, it breaks from the loop.
  • It returns the value of sum at the end.

If you run this program, it will give outputs as below:

Enter the value value of n: 10
Sum of first 10 odd numbers is: 100

Enter the value value of n: 2
Sum of first 2 odd numbers is: 4

Method 2: By incrementing 2 on each iteration:

We can change the above program to increment the value of i by 2 on each iteration. It will skip all even values and iterate only over the odd values.

#include <stdio.h>

int getOddSum(int n)
{
    int sum = 0, count = 0;

    for (int i = 1; count < n; i += 2)
    {
        sum += i;
        count++;
    }
    return sum;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of first %d odd numbers is: %d\n", n, getOddSum(n));
}

We don’t have to check if the current value of i is odd or even. We can add all the numbers in the loop. It will give similar results.

Enter the value value of n: 3
Sum of first 3 odd numbers is: 9

Method 3: By using a while loop:

We can also use a while loop to write the same program. It will increment the value of i by 2 similar to the above example.

#include <stdio.h>

int getOddSum(int n)
{
    int sum = 0, count = 1, i = 1;

    while (count <= n)
    {
        sum += i;
        i += 2;
        count++;
    }
    return sum;
}

int main()
{
    int n;

    printf("Enter the value value of n: ");
    scanf("%d", &n);

    printf("Sum of first %d odd numbers is: %d\n", n, getOddSum(n));
}

It will print similar output.

C find sum n odd natural numbers

You might also like: