Count the numbers divisible by 'M' in a given range - GeeksforGeeks

26 Apr, 2022
A and B are two numbers which define a range, where A <= B. Find the total numbers in the given range [A ... B] divisible by ‘M’Examples:  
Input  : A = 25, B = 100, M = 30
Output : 3
Explanation : In the given range [25 - 100], 
30, 60 and 90 are divisible by 30

Input : A = 6, B = 15, M = 3
Output : 4
Explanation : In the given range [6 - 15],
6, 9, 12 and 15 are divisible by 3
 
Method 1 : [Brute-force] Run a loop from A to B. If a number divisible by ‘M’ is found, increment counter.Below is the implementation of above method:   
C++
Java
Python3
C#
PHP
Javascript
// Program to count the numbers divisible by// M in a given range#include <bits/stdc++.h>using namespace std; int countDivisibles(int A, int B, int M){    // Variable to store the counter    int counter = 0;     // Running a loop from A to B and check    // if a number is divisible by M.    for (int i = A; i <= B; i++)        if (i % M == 0)            counter++;     return counter;} // Driver codeint main(){    // A and B define the range, M is the dividend    int A = 30, B = 100, M = 30;     // Printing the result    cout << countDivisibles(A, B, M) << endl;     return 0;}
// Java program to count the numbers divisible by// M in a given rangeimport java.io.*; class GFG {    // Function to count the numbers divisible by    // M in a given range    static int countDivisibles(int A, int B, int M)    {        // Variable to store the counter        int counter = 0;         // Running a loop from A to B and check        // if a number is divisible by M.        for (int i = A; i <= B; i++)            if (i % M == 0)                counter++;         return counter;    }     // driver program    public static void main(String[] args)    {        // A and B define the range, M is the dividend        int A = 30, B = 100, M = 30;         // Printing the result        System.out.println(countDivisibles(A, B, M));    }} // Contributed by Pramod Kumar
# Program to count the numbers# divisible by M in a given range def countDivisibles(A, B, M):         # Variable to store the counter    counter = 0;     # Running a loop from A to B    # and check if a number is    # divisible by M.    for i in range(A, B):        if (i % M == 0):            counter = counter + 1     return counter # Driver code# A and B define the range,# M is the dividendA = 30B = 100M = 30 # Printing the resultprint(countDivisibles(A, B, M)) # This code is contributed by Sam007.
// C# program to count the numbers// divisible by M in a given rangeusing System; public class GFG {     // Function to count the numbers divisible by    // M in a given range    static int countDivisibles(int A, int B, int M)    {        // Variable to store the counter        int counter = 0;         // Running a loop from A to B and check        // if a number is divisible by M.        for (int i = A; i <= B; i++)            if (i % M == 0)                counter++;         return counter;    }     // driver program    public static void Main()    {        // A and B define the range, M is the dividend        int A = 30, B = 100, M = 30;         // Printing the result        Console.WriteLine(countDivisibles(A, B, M));    }} // This code is contributed by Sam007
<?php// PHP Program to count the// numbers divisible by// M in a given range function countDivisibles($A, $B, $M){         // Variable to store the counter    $counter = 0;     // Running a loop from    // A to B and check    // if a number is    // divisible by M.    for ($i = $A; $i <= $B; $i++)        if ($i % $M == 0)            $counter++;     return $counter;}     // Driver Code    // A and B define the range,    // M is the dividend    $A = 30;    $B = 100;    $M = 30;     // Printing the result    echo countDivisibles($A, $B, $M), "\n"; // This code is contributed by ajit?>
<script>// Javascript Program to count the// numbers divisible by// M in a given range function countDivisibles(A, B, M){         // Variable to store the counter    let counter = 0;     // Running a loop from    // A to B and check    // if a number is    // divisible by M.    for (let i = A; i <= B; i++)        if (i % M == 0)            counter++;     return counter;}     // Driver Code    // A and B define the range,    // M is the dividend    let A = 30;    let B = 100;    let M = 30;     // Printing the result    document.write(countDivisibles(A, B, M)); // This code is contributed by gfgking.</script>
Output:  
3
Method 2 : [Better] The loop can be modified by incrementing the iterator ‘M’ times after the first divisible is found. Also, if ‘A’ is less than ‘M’, it can be changed to ‘M’, because a number less than ‘M’ can not be divided by it.Method 3 : [Efficient]  
Let B = b * M and
    A = a * M
The count of numbers divisible by
'M' between A and B will be equal
to b - a.

Example:
A = 25, B = 70, M = 10.
Now, a = 2, b = 7.
Count = 7 - 2 = 5.
It can be observed that, if A is divisible by M, ‘b – a’ will exclude the count for A, so the count will be less by 1. Thus, in this case we add 1 explicitly.Example when A is divisible by M:  
A = 30, B = 70, M = 10.
Now, a = 3, b = 7.
Count = 7 - 3 = 4.
But, Count should be 5. Thus, we will
add 1 explicitly.
Below is the implementation of the above method :   
C++
Java
Python3
C#
PHP
Javascript
// C++ program to count the numbers divisible by// M in a given range#include <bits/stdc++.h>using namespace std; // Function to count the numbers divisible by// M in a given rangeint countDivisibles(int A, int B, int M){       // Add 1 explicitly as A is divisible by M    if (A % M == 0)        return (B / M) - (A / M) + 1;     // A is not divisible by M    return (B / M) - (A / M);} // driver programint main(){       // A and B define the range, M is the dividend    int A = 30, B = 100, M = 30;     // Printing the result    cout << (countDivisibles(A, B, M));} // This code is contributed by subham348.
// Java program to count the numbers divisible by// M in a given rangeimport java.io.*; class GFG {    // Function to count the numbers divisible by    // M in a given range    static int countDivisibles(int A, int B, int M)    {        // Add 1 explicitly as A is divisible by M        if (A % M == 0)            return (B / M) - (A / M) + 1;         // A is not divisible by M        return (B / M) - (A / M);    }     // driver program    public static void main(String[] args)    {        // A and B define the range, M is the dividend        int A = 30, B = 100, M = 30;         // Printing the result        System.out.println(countDivisibles(A, B, M));    }} // Contributed by Pramod Kumar
# Program to count the numbers divisible# by M in a given range # Returns count of numbers in [A B] that# are divisible by M.def countDivisibles(A, B, M):         # Add 1 explicitly as A is divisible by M    if (A % M == 0):        return ((B / M) - (A / M)) + 1     # A is not divisible by M    return ((B / M) - (A / M)) # Driver Code# A and B define the range, M# is the dividendA = 30B = 70M = 10 # Printing the resultprint(countDivisibles(A, B, M)) # This code is contributed by Sam007
// C# program to count the numbers// divisible by M in a given rangeusing System; public class GFG {     // Function to count the numbers divisible by    // M in a given range    static int countDivisibles(int A, int B, int M)    {        // Add 1 explicitly as A is divisible by M        if (A % M == 0)            return (B / M) - (A / M) + 1;         // A is not divisible by M        return (B / M) - (A / M);    }     // driver program    public static void Main()    {        // A and B define the range, M is the dividend        int A = 30, B = 100, M = 30;         // Printing the result        Console.WriteLine(countDivisibles(A, B, M));    }} // This code is contributed by Sam007
<?php// PHP Program to count the numbers// divisible by M in a given range // Returns count of numbers in// [A B] that are divisible by M.function countDivisibles($A, $B, $M){         // Add 1 explicitly as A    // is divisible by M    if ($A % $M == 0)        return ($B / $M) -               ($A / $M) + 1;     // A is not divisible by M    return ($B / $M) -           ($A / $M);}     // Driver Code    // A and B define the range,    // M is the divident    $A = 30;    $B = 70;    $M = 10;     // Printing the result    echo countDivisibles($A, $B, $M) ;    return 0; // This code is contributed by nitin mittal.?>
// Javascript Program to count the numbers// divisible by M in a given range // Returns count of numbers in// [A B] that are divisible by M.function countDivisibles(A, B, M){         // Add 1 explicitly as A    // is divisible by M    if (A % M == 0)        return (B / M) -            (A / M) + 1;     // A is not divisible by M    return (B / M) -        (A / M);}     // Driver Code    // A and B define the range,    // M is the divident    let A = 30;    let B = 70;    let M = 10;     // Printing the result    document.write(countDivisibles(A, B, M)); // This code is contributed by gfgking
3
This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
Sam007
jit_t
nitin mittal
dsairam17
gfgking
subham348
surindertarika1234
simmytarika5
divisibility
Samsung
Mathematical
Samsung
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Program to find GCD or HCF of two numbers
Modulo Operator (%) in C/C++ with Examples
Merge two sorted arrays
Prime Numbers
Program to find sum of elements in a given array
Program for factorial of a number
Operators in C / C++
Euclidean algorithms (Basic and Extended)
Sieve of Eratosthenes
Program for Decimal to Binary Conversion