# Find the sum of numbers in the given range

Problem Statement: Find the sum of numbers in the given range.

Examples:

```Example 1:
Input: l=2, r=7
Output: 27
Explanation: 2+3+4+5+6+7=27. Therefore 27 is the answer.

Example 2:
Input: l=5, r=9
Output: 35
Explanation: 5+6+7+8+9=35. Therefore 35 is the answer.```

Solution 1:Naive approach

Intuition: Simply add numbers from l to r.

Approach:

• Maintain a sum variable to store the sum of elements from l to r.
• Traverse from l to r and add i to the sum.
• Once the traversal is complete print the sum.

Code:

## C++ Code

``````#include<bits/stdc++.h>
using namespace std;
int main()
{
int l = 2, r = 7;
int sum = 0;
for (int i = l; i <= r; i++) {
sum += i;
}
cout << "The sum of numbers in the given range is "<<sum;

}
``````

Output: The sum of the numbers in the given range is 27

## Java Code

``````public class Main {
public static void main(String args[]) {
int l = 2, r = 7;
int sum = 0;
for (int i = l; i <= r; i++) {
sum += i;
}
System.out.print("The sum of the numbers in the given range is "+sum);
}
}
``````

Output: The sum of the numbers in the given range is 27

Solution 2: Optimized

Intuition: Find the sum of numbers from 1 to r and then subtract the sum of numbers from 1 to l-1 to get the sum of elements from l to r.

Approach:

•  We know sum of number from 1 to n is n*(n+1)/2.
• We need to find sum(r)-sum(l-1),where sum(r) is the sum of numbers from 1 to r and sum(l-1) is the sum of numbers from 1 to l-1.
• So ultimately r*(r+1)/2 – (l-1)(l-1+1)/2 is the answer.

Code:

## C++ Code

``````#include<bits/stdc++.h>
using namespace std;
int main()
{
int l = 2, r = 7;
//sum(1 to r) - sum(1 to l-1)
int ans = (r * (r + 1)) / 2 - ((l - 1) * (l)) / 2;
cout << "The sum of the numbers in the given range is "<<ans;
}
``````

Output: The sum of the numbers in the given range is 27

Time Complexity: O(1), since we are finding sum from 1 to r and sum from 1 to l-1 in O(1) complexity.

Space Complexity: O(1).

## Java Code

``````public class Main {
public static void main(String args[]) {
int l = 2, r = 7;
//sum(1 to r) - sum(1 to l-1)
int ans = (r * (r + 1)) / 2 - ((l - 1) * (l)) / 2;
System.out.print("The sum of the numbers in the given range is "+ans);
}
}
``````

Output: The sum of the numbers in the given range is 27

Time Complexity: O(1), since we are finding sum from 1 to r and sum from 1 to l-1 in O(1) complexity.

Space Complexity: O(1).