Dado un número entero N , la tarea es encontrar el número de números del 1 al N que son divisibles por todos los números del 2 al 10 .
Ejemplos:
Entrada: N = 3000
Salida: 1
2520 es el único número por debajo de 3000 que es divisible por todos los números del 2 al 10.Entrada: N = 2000
Salida: 0
Planteamiento: Factoricemos números del 2 al 10.
2 = 2
3 = 3
4 = 2 2
5 = 5
6 = 2 * 3
7 = 7
8 = 2 3
9 = 3 2
10 = 2 * 5
Si un número es divisible por todos los números del 2 al 10 , su factorización debe contener 2 como mínimo en la potencia de 3 , 3 como mínimo en la potencia de 2 , 5 y 7 como mínimo en la potencia de 1 . Por lo que se puede escribir como:
x * 2 3 * 3 2 * 5 * 7 es decir x * 2520.
Entonces, cualquier número divisible por 2520 es divisible por todos los números del 2 al 10 . Entonces, el conteo de tales números es N / 2520 .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the count of numbers // from 1 to n which are divisible by // all the numbers from 2 to 10 int countNumbers(int n) { return (n / 2520); } // Driver code int main() { int n = 3000; cout << countNumbers(n); return 0; }
Java
// Java implementation of the approach class GFG { // Function to return the count of numbers // from 1 to n which are divisible by // all the numbers from 2 to 10 static int countNumbers(int n) { return (n / 2520); } // Driver code public static void main(String args[]) { int n = 3000; System.out.println(countNumbers(n)); } } // This code is contributed by Arnab Kundu
Python3
# Python3 implementation of the approach # Function to return the count of numbers # from 1 to n which are divisible by # all the numbers from 2 to 10 def countNumbers(n): return n // 2520 # Driver code n = 3000 print(countNumbers(n)) # This code is contributed # by Shrikant13
C#
// C# implementation of the approach using System; class GFG { // Function to return the count of numbers // from 1 to n which are divisible by // all the numbers from 2 to 10 static int countNumbers(int n) { return (n / 2520); } // Driver code public static void Main(String []args) { int n = 3000; Console.WriteLine(countNumbers(n)); } } // This code is contributed by Arnab Kundu
PHP
<?php // PHP implementation of the approach // Function to return the count of numbers // from 1 to n which are divisible by // all the numbers from 2 to 10 function countNumbers($n) { return (int)($n / 2520); } // Driver code $n = 3000; echo(countNumbers($n)); // This code is contributed // by Code_Mech. ?>
Javascript
<script> // Javascript implementation of the approach // Function to return the count of numbers // from 1 to n which are divisible by // all the numbers from 2 to 10 function countNumbers(n) { return (n / 2520); } // Driver code var n = 3000; // Function call document.write(Math.round(countNumbers(n))); // This code is contributed by Ankita saini </script>
1
Complejidad de Tiempo : O(1), ya que hay una operación aritmética básica que toma tiempo constante.
Espacio Auxiliar: O(1), ya que no se ha ocupado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por pawan_asipu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA