# Program to find the Sum of numbers in a given range in C

## Find the Sum of Numbers in a Given Range in C

Given two integer inputs num1 and num2, the objective is to write a code to Find the Sum of Numbers in a Given Range in C. To do so we’ll keep iterating and adding the numbers from num1 until num2 to the Sum variable.

```Example
Input : 2 4
Output : 2 + 3 + 4 = 9
``` ## Find the Sum of Numbers in a Given Interval in C

Given two integer inputs the objective is to Find the Sum of all the integers that lay within the given interval input by writing a code in C Language. Some Methods for solving the above problem are mentioned below,

• Method 1 : Using Brute Force
• Method 2 : Using the Formula
• Method 3 : Using Recursion

We’ll discuss about the above mentioned methods in the sections below in detail.

### Algorithm and Working

The algorithm and working of the above mentioned problem is mentioned below,

• Include the required Header files using include keyword.
• Initialize the required variables.
• Create a variable sum = 0
• Run for loop in iterations of (I) in between [a, b]
• In each iteration add I to sum value
• Print sum value

Now let’s try and implement the algorithm in C language.

### C Code

```#include <stdio.h>

int main()
{
int a = 5;
int b = 10;

int sum = 0;

for (int i = a; i <= b; i++)
sum = sum + i;

printf("%d",sum);

return 0;
}
// Time complexity : O(N)
// Space complexity : O(1)
```

```45
```

### Algorithm and Working

This method uses a concept that the sum of first n natural numbers can be found using direct formulae – n(n+1)/2

For sum between [a, b] we can simply –

• Create a variable sum = 0
• sum = b*(b+1)/2 – a*(a+1)/2 + a
• Print the sum

Note – An extra ‘a’ is added at the end for offset (check last part of the formula)

Example – Assume you had to calculate sum b/w [3, 5]. Doing b*(b+1)/2 – a*(a+1)/2 what we have done is subtracted (1, 2, 3) from (1, 2, 3, 4, 5). Thus only got the sum of (4, 5). So extra 3 i.e. a is added in the formula

### C Code

```#include <stdio.h>

int main()
{
int a = 5;
int b = 10;

int sum = b*(b+1)/2 - a*(a+1)/2 + a;

printf("%d",sum);

return 0;
}
// Time complexity : O(1)
// Space complexity : O(1)
```

```45
```

### Working and Algorithm

Uses recursion starting with a (lower number) but only going till b (upper number)

For sum between [a, b] we can simply –

• Include the Required header files using include keyword.
• Initialize the required variables.
• Create a variable sum = 0
• Call function getSum(0, a, b)
• In each recursion, call return i + getSum(sum, i + 1, b)
• In base Case i.e. when recursion call goes beyond upper limit return sum

Let’s try and implement the above algorithm in C Language.

### C Code

```#include <stdio.h>

int getSum(int sum, int i, int b){

// stop when any recursion call tries to go over b (larger number)
if (i > b)
return sum;

return i + getSum(sum, i + 1, b);
}

int main()
{
int a = 5;
int b = 10;

int sum = getSum(0, a, b);

printf("%d",sum);

return 0;
}
// Time complexity : O(N)
// Space complexity : O(1)
// Auxilary Space complexity : O(1)
// Because of function call stack
```

```45
```

### Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

## Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

## Getting Started

### One comment on “Program to find the Sum of numbers in a given range in C”

• Shubham

#python program
sum=0
for i in range(30,40+1):
sum=sum+i
print(sum) 0