Open In App

Given a number n, count all multiples of 3 and/or 5 in set {1, 2, 3, … n}

Last Updated : 05 Oct, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given a number n, count all multiples of 3 and/or 5 in set of numbers from 1 to n.
Examples: 
 

Input: n = 6
Output: 3
There are three multiples of 3 and/or 5 in {1, 2, 3, 4, 5, 6}
Input: n = 16
Output: 7
There are two multiples of 7 and/or 5 in {1, 2, .. 16}
The multiples are 3, 5, 6, 9, 10, 12, 15

Brute Force:

A brute force approach to solve this problem would be to iterate through all the numbers from 1 to n and check if each number is a multiple of 3 or 5. If it is, increment a counter. 

Implementation of the above approach:

C++




#include <iostream>
using namespace std;
 
unsigned countOfMultiples(unsigned n)
{
    unsigned count = 0;
 
    for (unsigned i = 1; i <= n; i++) {
        if (i % 3 == 0 || i % 5 == 0) {
            count++;
        }
    }
 
    return count;
}
 
// Driver program to test above function
int main()
{
    cout << countOfMultiples(6) << endl;
    cout << countOfMultiples(16) << endl;
    return 0;
}


Java




import java.util.*;
 
public class Main {
 
    // Function to count the multiples
    public static int countOfMultiples(int n)
    {
        int count = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 || i % 5 == 0) {
                count++;
            }
        }
        return count;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        System.out.println(countOfMultiples(6));
        System.out.println(countOfMultiples(16));
    }
}


Python3




# Python program to count the number of integers
# from 1 to n that are divisible by 3 or 5
 
def countOfMultiples(n):
    count = 0
    for i in range(1, n+1):
        if i % 3 == 0 or i % 5 == 0:
            count += 1
    return count
 
# Driver program to test above function
if __name__ == "__main__":
    print(countOfMultiples(6))
    print(countOfMultiples(16))
 
# The code is contributed by Nidhi goel.


C#




using System;
 
public class MainClass
{
    // Function to count the multiples of 3 or 5 in the range from 1 to n
    public static int CountOfMultiples(int n)
    {
        int count = 0;
        for (int i = 1; i <= n; i++)
        {
            if (i % 3 == 0 || i % 5 == 0)
            {
                count++;
            }
        }
        return count;
    }
 
    // Main method
    public static void Main(string[] args)
    {
        Console.WriteLine(CountOfMultiples(6));
        Console.WriteLine(CountOfMultiples(16));
    }
}


Javascript




// Function to count the number of multiples of 3 or 5 up to n
function countOfMultiples(n) {
    let count = 0;
    for (let i = 1; i <= n; i++) {
        if (i % 3 == 0 || i % 5 == 0) {
            count++;
        }
    }
    return count;
}
 
console.log(countOfMultiples(6));
console.log(countOfMultiples(16));


Output

3
7

Time Complexity: O(n)

Auxiliary Space: O(1)
 

We strongly recommend to minimize your browser and try this yourself first.
The value of n/3 gives us number of multiples of 3, the value of n/5 gives us number of multiples of 5. But the important point is there are may be some common multiples which are multiples of both 3 and 5. We can get such multiples by using n/15. Following is the program to find count of multiples. 
 

C++




// C++ program to find count of multiples of 3 and 5 in {1, 2, 3, ..n}
#include <iostream>
using namespace std;
 
unsigned countOfMultiples(unsigned n)
{
   // Add multiples of 3 and 5.  Since common multiples are
   // counted twice in n/3 + n/15, subtract common multiples
   return (n/3 + n/5 - n/15);
}
 
// Driver program to test above function
int main()
{
   cout << countOfMultiples(6) << endl;
   cout << countOfMultiples(16) << endl;
   return 0;
}


Java




// Java program to find count of multiples
// of 3 and 5 in {1, 2, 3, ..n}
import java .io.*;
class GFG {
     
    static long countOfMultiples(long n)
    {
         
        // Add multiples of 3 and 5.
        // Since common multiples are
        // counted twice in n/3 + n/15,
        // subtract common multiples
        return (n/3 + n/5 - n/15);
    }
     
    // Driver Code
    static public void main (String[] args)
    {
        System.out.println(countOfMultiples(6));
        System.out.println(countOfMultiples(16));
    }
}
 
// This code is contributed by anuj_67.


Python3




# python program to find count
# of multiples of 3 and 5 in
# {1, 2, 3, ..n}
 
def countOfMultiples(n):
    # Add multiples of 3 and 5.
    # Since common multiples are
    # counted twice in n/3 + n/15,
    # subtract common multiples
    return (int(n/3) + int(n/5) - int(n/15));
 
 
# Driver program to test
# above function
print(countOfMultiples(6))
print(countOfMultiples(16))
 
# This code is contributed by Sam007.


C#




// C# program to find count of multiples
// of 3 and 5 in {1, 2, 3, ..n}
using System;
 
public class GFG {
     
    static uint countOfMultiples(uint n)
    {
        // Add multiples of 3 and 5.
        // Since common multiples are
        // counted twice in n/3 + n/15,
        // subtract common multiples
        return (n/3 + n/5 - n/15);
    }
     
    // Driver program to test above
    // function
    static public void Main ()
    {
        Console.WriteLine(countOfMultiples(6));
         
        Console.WriteLine(countOfMultiples(16)) ;
    }
}
 
// This code is contributed by anuj_67.


Javascript




<script>
    // Javascript program to find count of multiples
    // of 3 and 5 in {1, 2, 3, ..n}
     
    function countOfMultiples(n)
    {
        // Add multiples of 3 and 5.
        // Since common multiples are
        // counted twice in n/3 + n/15,
        // subtract common multiples
        return (parseInt(n/3, 10) + parseInt(n/5, 10) - parseInt(n/15, 10));
    }
     
    document.write(countOfMultiples(6) + "</br>");
           
      document.write(countOfMultiples(16) + "</br>") ;
     
</script>


PHP




<?php
// PHP program to find count of
// multiples of 3 and 5 in
// {1, 2, 3, ..n}
 
function countOfMultiples($n)
{
     
    // Add multiples of 3 and 5.
    // Since common multiples are
    // counted twice in n/3 + n/15,
    // subtract common multiples
    return floor(floor($n / 3) +
                 floor($n / 5) -
                 floor($n / 15));
}
 
// Driver Code
echo countOfMultiples(6),"\n" ;
echo countOfMultiples(16);
 
// This code is contributed by nitin mittal
?>


Output: 

3
7

Time Complexity: O(1)

Auxiliary Space: O(1)


 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads