Related Articles

# Sum of the numbers upto N that are divisible by 2 or 5

• Last Updated : 15 Apr, 2021

Given a number n. The task is to find the sum of numbers up to n, that are divisible 2 or 5.
Examples:

Input: n = 2
Output: 2

Input: n = 5
Output: 11

A naive approach is to just iterate over the numbers upto n and check if it divisible by 2 or 5. If it is divisible then just add this number to our required sum. And finally we got our total sum with complexity of O(n).
Efficient Approach:

1. First find the numbers that are divisible by 2. So, these number for an AP, having

first term = 2, difference = 2, Number of terms = n/2
So, sum given by- 2. Secondly we find the numbers that are divisible by 5. So, these number for an AP, having

first term = 5, difference = 5, Number of terms = n/5
So, sum given by- 3. First we find the numbers that are divisible by 2 and 5.so, these number for an AP, having

first term =10, difference = 10, Number of terms = n / 10
So, sum given by- 4. As we have to find sum of number divisible by 2 or 5. So, required sum is given by-

sum = sum_2 + sum_5 – sum_10

Below is the implementation of above approach:

## C++

 // C++ implementation of above approach#include #define ll long long intusing namespace std; // Function to find the sumll findSum(int n){     ll sum2, sum5, sum10;     // sum2 is sum of numbers divisible by 2    sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2;     // sum5 is sum of number divisible by 5    sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2;     // sum10 of numbers divisible by 2 and 5    sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2;     return sum2 + sum5 - sum10;} // Driver codeint main(){    int n = 5;     cout << findSum(n) << endl;    return 0;}

## Java

 // Java implementation of// above approachimport java.lang.*;import java.util.*; class GFG{ // Function to find the sumstatic long findSum(int n){    long sum2, sum5, sum10;         // sum2 is sum of numbers    // divisible by 2    sum2 = ((n / 2) * (4 +            (n / 2 - 1) * 2)) / 2;         // sum5 is sum of number    // divisible by 5    sum5 = ((n / 5) * (10 +            (n / 5 - 1) * 5)) / 2;         // sum10 of numbers divisible    // by 2 and 5    sum10 = ((n / 10) * (20 +             (n / 10 - 1) * 10)) / 2;         return sum2 + sum5 - sum10;} // Driver codepublic static void main (String[] args){    int n = 5;    System.out.println(findSum(n));}} // This code is contributed by Raj

## Python3

 # Python3 implementation of# above approach # Function to find the sumdef findSum(n):          # sum2 is sum of numbers divisible by 2    sum2 = ((n // 2) * (4 + (n // 2 - 1) * 2)) // 2     # sum5 is sum of number divisible by 5    sum5 = ((n // 5) * (10 + (n // 5 - 1) * 5)) // 2     # sum10 of numbers divisible by 2 and 5    sum10 = ((n // 10) * (20 + (n // 10 - 1) * 10)) // 2     return sum2 + sum5 - sum10;  # Driver codeif __name__=='__main__':    n = 5    print (int(findSum(n)))      # this code is contributed by Shivi_Aggarwal

## C#

 // C# implementation of// above approachusing System; class GFG{ // Function to find the sumstatic long findSum(int n){    long sum2, sum5, sum10;         // sum2 is sum of numbers    // divisible by 2    sum2 = ((n / 2) * (4 +            (n / 2 - 1) * 2)) / 2;         // sum5 is sum of number    // divisible by 5    sum5 = ((n / 5) * (10 +            (n / 5 - 1) * 5)) / 2;         // sum10 of numbers divisible    // by 2 and 5    sum10 = ((n / 10) * (20 +             (n / 10 - 1) * 10)) / 2;         return sum2 + sum5 - sum10;} // Driver codepublic static void Main (){    int n = 5;    Console.WriteLine(findSum(n));}} // This code is contributed by inder_verma

## PHP

 

## Javascript

 
Output:
11

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up