Given a number n, count all multiples of 3 and/or 5 in set {1, 2, 3, … n}
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; } |
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. |
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)); |
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 )); } } |
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. |
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 ?> |
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> |
Output:
3 7
Time Complexity: O(1)
Auxiliary Space: O(1)
This article is contributed by Asif. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Please Login to comment...