Cuente los números divisibles por ‘M’ en un rango dado

A y B son dos números que definen un rango, donde A <= B. Encuentre los números totales en el rango dado [A … B] divisible por ‘M’
Ejemplos: 
 

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

Método 1: [Fuerza bruta] 
Ejecute un ciclo de A a B. Si se encuentra un número divisible por ‘M’, incremente el contador.
A continuación se muestra la implementación del método anterior: 
 
 

C++

// 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

// 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

Python3

# 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#

// 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
// 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
?>

Javascript

<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>

Producción: 

3

Complejidad de tiempo: O(B)

Espacio auxiliar: O(1)
Método 2: [Mejor] 
El ciclo se puede modificar incrementando el iterador ‘M’ veces después de encontrar el primer divisible. Además, si ‘A’ es menor que ‘M’, se puede cambiar a ‘M’, porque un número menor que ‘M’ no se puede dividir por él.
Método 3: [Eficiente] 
 

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.

Se puede observar que, si A es divisible por M, ‘b – a’ excluirá la cuenta de A, por lo que la cuenta será menos 1. Así, en este caso sumamos 1 explícitamente.
Ejemplo cuando A es divisible por 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.

A continuación se muestra la implementación del método anterior: 
 
 

C++

// 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

// 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

Python3

# 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#

// 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
// 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

// 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
Producción

3

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Este artículo es una contribución de Rohit Thapliyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *