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:
// 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 code int 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 range import 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 dividend A = 30
B = 100
M = 30
# Printing the result print (countDivisibles(A, B, M))
# This code is contributed by Sam007. |
// C# program to count the numbers // divisible by M in a given range using 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
Time Complexity: O(B)
Auxiliary Space: O(1)
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++ 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 range 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 int 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 range import 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 dividend A = 30
B = 70
M = 10
# Printing the result print (countDivisibles(A, B, M))
# This code is contributed by Sam007 |
// C# program to count the numbers // divisible by M in a given range using 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 dividend
$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 dividend
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
Time Complexity: O(1)
Auxiliary Space: O(1)