Find the sum of all multiples of 2 and 5 below N

Given a number N. and the task is to find the sum of all multiples of 2 and 5 below N ( N may be up to 10^10).
Examples:
Input : N = 10 Output : 25 Explanation : 2 + 4 + 6 + 8 + 5
Input : N = 20 Output : 110
Approach :
We know that multiples of 2 form an AP as:
2, 4, 6, 8, 10, 12, 14….(1)
Similarly, multiples of 5 form an AP as:
5, 10, 15……(2)
Now, Sum(1) + Sum(2) = 2, 4, 5, 6, 8, 10, 10, 12, 14, 15….
Here, 10 is repeated. In fact, all of the multiples of 10 or 2*5 are repeated because it is counted twice, once in the series of 2 and again in the series of 5. Hence we’ll subtract the sum of the series of 10 from Sum(1) + Sum(2).
The formula for the sum of an A.P is :
n * ( a + l ) / 2
Whereis the number of terms,
is the starting term, and
is the last term.
So, the final answer is:
S2 + S5 – S10
Below is the implementation of the above approach:
C++
// CPP program to find the sum of all// multiples of 2 and 5 below N#include <bits/stdc++.h>using namespace std;// Function to find sum of AP serieslong long sumAP(long long n, long long d){ // Number of terms n /= d; return (n) * (1 + n) * d / 2;}// Function to find the sum of all// multiples of 2 and 5 below Nlong long sumMultiples(long long n){ // Since, we need the sum of // multiples less than N n--; return sumAP(n, 2) + sumAP(n, 5) - sumAP(n, 10);}// Driver codeint main(){ long long n = 20; cout << sumMultiples(n); return 0;} |
C
// C program to find the sum of all// multiples of 2 and 5 below N#include <stdio.h>// Function to find sum of AP serieslong long sumAP(long long n, long long d){ // Number of terms n /= d; return (n) * (1 + n) * d / 2;}// Function to find the sum of all// multiples of 2 and 5 below Nlong long sumMultiples(long long n){ // Since, we need the sum of // multiples less than N n--; return sumAP(n, 2) + sumAP(n, 5) - sumAP(n, 10);}// Driver codeint main(){ long long n = 20; printf("%lld",sumMultiples(n)); return 0;}// This code is contributed by kothavvsaakash. |
Java
// Java program to find the sum of all// multiples of 2 and 5 below Nclass GFG{// Function to find sum of AP seriesstatic long sumAP(long n, long d){ // Number of terms n /= d; return (n) * (1 + n) * d / 2;}// Function to find the sum of all// multiples of 2 and 5 below Nstatic long sumMultiples(long n){ // Since, we need the sum of // multiples less than N n--; return sumAP(n, 2) + sumAP(n, 5) - sumAP(n, 10);}// Driver codepublic static void main(String[] args){ long n = 20; System.out.println(sumMultiples(n));}}// This code is contributed by mits |
Python3
# Python3 program to find the sum of # all multiples of 2 and 5 below N # Function to find sum of AP series def sumAP(n, d): # Number of terms n = int(n / d); return (n) * (1 + n) * (d / 2); # Function to find the sum of all # multiples of 2 and 5 below N def sumMultiples(n): # Since, we need the sum of # multiples less than N n -= 1; return (int(sumAP(n, 2) + sumAP(n, 5) - sumAP(n, 10))); # Driver code n = 20; print(sumMultiples(n)); # This code is contributed by mits |
C#
// C# program to find the sum of all // multiples of 2 and 5 below N using System;public class GFG{ // Function to find sum of AP series static long sumAP(long n, long d) { // Number of terms n /= d; return (n) * (1 + n) * d / 2; } // Function to find the sum of all // multiples of 2 and 5 below N static long sumMultiples(long n) { // Since, we need the sum of // multiples less than N n--; return sumAP(n, 2) + sumAP(n, 5) - sumAP(n, 10); } // Driver code static public void Main (){ long n = 20; Console.WriteLine(sumMultiples(n)); } } |
PHP
<?php// PHP program to find the sum of all // multiples of 2 and 5 below N // Function to find sum of AP series function sumAP($n, $d) { // Number of terms $n = (int)($n /$d); return ($n) * ((1 + $n) * (int)$d / 2); } // Function to find the sum of all // multiples of 2 and 5 below N function sumMultiples($n) { // Since, we need the sum of // multiples less than N $n--; return sumAP($n, 2) + sumAP($n, 5) - sumAP($n, 10); } // Driver code $n = 20; echo sumMultiples($n); // This code is contributed // by Sach_Code?> |
Javascript
<script>// Java script program to find the sum of all // multiples of 2 and 5 below N // Function to find sum of AP series function sumAP(n, d) { // Number of terms n = parseInt(n / d); return (n) * ((1 + n) * parseInt(d) / 2); } // Function to find the sum of all // multiples of 2 and 5 below N function sumMultiples(n) { // Since, we need the sum of // multiples less than N n--; return sumAP(n, 2) + sumAP(n, 5) - sumAP(n, 10); } // Driver code n = 20; document.write( sumMultiples(n)); // This code is contributed by bobby </script> |
110
Time complexity: O(1), since there is no loop or recursion.
Auxiliary Space: O(1), since no extra space has been taken.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



