# Sum of all numbers divisible by 6 in a given range

Given a range L-R, find the sum of all numbers divisible by 6 in range L-R

L and R are very large.

Examples:

```Input : 1 20
Output : 36
Explanation: 6 + 12 + 18 = 36

Input : 5 7
Output : 6
Explanation: 6 is the only divisible number
in range 5-7
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

A naive approach is be to run a loop from L to R and sum up all the numbers divisible by 6.

An efficient approach is to sum all the numbers divisible by 6 up to R in sum, and sum all numbers divisible by 6 up to L-1. And then there subtraction will be the answer.

sum = 6 + 12 + 8 + …….(R/6)terms.
sum = 6(1 + 2 + 3……R/6 terms)

sumR = 3 * (R/6) * (R/6+1)

similarly we get

sumL as 3 * ((L-1)/6) * ((L-1/6)+1)

and the final answer as sumR – sumL.

## C++

```// CPP program to find sum of numbers divisible
// by 6 in a given range.
#include <bits/stdc++.h>
using namespace std;

// function to calculate the sum of
// all numbers divisible by 6 in range L-R..
int sum(int L, int R)
{
// no of multiples of 6 upto r
int p = R / 6;

// no of multiples of 6 upto l-1
int q = (L - 1) / 6;

// summation of all multiples of 6 upto r
int sumR = 3 * (p * (p + 1));

// summation of all multiples of 6 upto l-1
int sumL = (q * (q + 1)) * 3;

return sumR - sumL;
}

// driver program to test the above function
int main()
{
int L = 1, R = 20;
cout << sum(L, R);
return 0;
}
```

## Python

```# Python3 program to find sum of numbers divisible
# by 6 in a given range.

def sumDivisible(L, R):

# no of multiples of 6 upto r
p = int(R/6)

# no of multiples of 6 upto l-1
q = int((L-1)/6)

# summation of all multiples of 6 upto r
sumR = 3 * (p * (p + 1))

# summation of all multiples of 6 upto l-1
sumL = (q * (q + 1)) * 3

return sumR - sumL

# driver code
L = 1
R = 20
print(sumDivisible(L,R))

# This code is contributed by 'Abhishek Sharma 44'.
```

Output:

```36
```

Time Complexity: O(1)

This article is contributed by Striver. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geekforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

# GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.
2 Average Difficulty : 2/5.0
Based on 1 vote(s)