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