# Calculate the sum of sum of numbers in range L to R

• Last Updated : 29 Dec, 2021

Given two numbers L and R. The task is to find the sum of numbers in the range L to R.

Examples:

Input: L = 3, R = 6
Output: 40
Explanation: 3 + 3+4 + 3+4+5 + 3+4+5+6 = 40

Input: L = 5, R = 6
Output: 16

Approach: This problem is formula-based. For the illustration given below, observe the number of times each number is repeating in the sum, and depending upon that the final sum is calculated.

Illustration: L = 3, R = 6

Sum = 3 + 3+4 + 3+4+5 + 3+4+5+6 = 3+3+3+3 + 4+4+4 + 5+5 + 6 (Upon Grouping)
That is equals to 3*4 + 4*3 + 5*2 + 6*1

Therefore for any range L to R, the sum can be calculated as:

L*D + (L+1)*(D-1) + (L+2)*(D-2) + … + (R-1)*(2) + R*1

Below is the implementation of above approach.

## C++

 `// C++ program for above approach``#include ``using` `namespace` `std;`` ` `// Function to return sum``int` `findSum(``int` `L, ``int` `R)``{``    ``// Initializing the variables``    ``int` `sum = 0, d = R - L + 1;`` ` `    ``for` `(``int` `i = L; i <= R; i++) {``        ``sum += (i * d);``        ``d--;``    ``}`` ` `    ``// Return Sum as the final result.``    ``return` `sum;``}`` ` `// Driver Code``int` `main()``{``    ``int` `L = 3, R = 6;`` ` `    ``// Function call``    ``cout << findSum(L, R);`` ` `    ``return` `0;``}`

## Java

 `// Java code to implement above approach``import` `java.util.*;``public` `class` `GFG {`` ` `// Function to return sum``static` `int` `findSum(``int` `L, ``int` `R)``{``   ` `    ``// Initializing the variables``    ``int` `sum = ``0``, d = R - L + ``1``;`` ` `    ``for` `(``int` `i = L; i <= R; i++) {``        ``sum += (i * d);``        ``d--;``    ``}`` ` `    ``// Return Sum as the final result.``    ``return` `sum;``}`` ` `// Driver code``public` `static` `void` `main(String args[])``{``    ``int` `L = ``3``, R = ``6``;`` ` `    ``// Function call``    ``System.out.println(findSum(L, R));`` ` `}``}`` ` `// This code is contributed by Samim Hossain Mondal.`

## Python

 `# Pyhton program for above approach`` ` `# Function to return sum``def` `findSum(L, R):``     ` `    ``# Initializing the variables``    ``sum` `=` `0``    ``d ``=` `R ``-` `L ``+` `1`` ` `    ``for` `i ``in` `range``(L, R ``+` `1``):``        ``sum` `+``=` `(i ``*` `d)``        ``d ``=` `d ``-` `1`` ` `    ``# Return Sum as the final result.``    ``return` `sum`` ` `# Driver Code``L ``=` `3``R ``=` `6`` ` `# Function call``print``(findSum(L, R))`` ` `# This code is contributed by Samim Hossain Mondal.`

## C#

 `// C# code to implement above approach``using` `System;``public` `class` `GFG {`` ` `  ``// Function to return sum``  ``static` `int` `findSum(``int` `L, ``int` `R)``  ``{`` ` `    ``// Initializing the variables``    ``int` `sum = 0, d = R - L + 1;`` ` `    ``for` `(``int` `i = L; i <= R; i++) {``      ``sum += (i * d);``      ``d--;``    ``}`` ` `    ``// Return Sum as the final result.``    ``return` `sum;``  ``}`` ` `  ``// Driver code``  ``public` `static` `void` `Main()``  ``{``    ``int` `L = 3, R = 6;`` ` `    ``// Function call``    ``Console.WriteLine(findSum(L, R));``  ``}``}`` ` `// This code is contributed by ukasp.`

## Javascript

 ``

Output
`40`

Time Complexity: O(R-L+1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up