Dado un número d , que representa el número de dígitos de un entero positivo. Encuentre el recuento total de enteros positivos (que consisten exactamente en d dígitos) que tienen al menos un cero en ellos.
Ejemplos:
Input : d = 1 Output : 0 There's no natural number of 1 digit that contains a zero. Input : d = 2 Output : 9 The numbers are, 10, 20, 30, 40, 50, 60, 70, 80 and 90.
Le recomendamos encarecidamente que haga clic aquí y lo practique antes de pasar a la solución.
Una solución simple es atravesar todos los números positivos de d dígitos. Para cada número, recorra sus dígitos y, si hay algún dígito 0, incremente el conteo (similar a esto ).
Las siguientes son algunas observaciones:
- Hay exactamente d dígitos.
- El número en el lugar más significativo no puede ser un cero (no se permiten ceros a la izquierda).
- Todos los demás lugares, excepto el más significativo, pueden contener cero.
Entonces, considerando los puntos anteriores, encontremos el recuento total de números que tienen d dígitos:
We can place any of {1, 2, ... 9} in D1 Hence D1 can be filled in 9 ways. Apart from D1 all the other places can be 10 ways. (we can place 0 as well) Hence the total numbers having d digits can be given as: Total = 9*10d-1 Now, let's find the numbers having d digits, that don't contain zero at any place. In this case, all the places can be filled in 9 ways. Hence count of such numbers is given by: Non_Zero = 9d Now the count of numbers having at least one zero can be obtained by subtracting Non_Zero from Total. Hence Answer would be given by: 9*(10d-1 - 9d-1)
A continuación se muestra el programa para el mismo.
C++
//C++ program to find the count of positive integer of a // given number of digits that contain atleast one zero #include<bits/stdc++.h> using namespace std; // Returns count of 'd' digit integers have 0 as a digit int findCount(int d) { return 9*(pow(10,d-1) - pow(9,d-1)); } // Driver Code int main() { int d = 1; cout << findCount(d) << endl; d = 2; cout << findCount(d) << endl; d = 4; cout << findCount(d) << endl; return 0; }
Java
// Java program to find the count // of positive integer of a // given number of digits // that contain atleast one zero import java.io.*; class GFG { // Returns count of 'd' digit // integers have 0 as a digit static int findCount(int d) { return 9 * ((int)(Math.pow(10, d - 1)) - (int)(Math.pow(9, d - 1))); } // Driver Code public static void main(String args[]) { int d = 1; System.out.println(findCount(d)); d = 2; System.out.println(findCount(d)); d = 4; System.out.println(findCount(d)); } } // This code is contributed by Nikita Tiwari.
Python3
# Python 3 program to find the # count of positive integer of a # given number of digits that # contain atleast one zero import math # Returns count of 'd' digit # integers have 0 as a digit def findCount(d) : return 9*((int)(math.pow(10,d-1)) - (int)(math.pow(9,d-1))); # Driver Code d = 1 print(findCount(d)) d = 2 print(findCount(d)) d = 4 print(findCount(d)) # This code is contributed by Nikita Tiwari.
C#
// C# program to find the count // of positive integer of a // given number of digits // that contain atleast one zero. using System; class GFG { // Returns count of 'd' digit // integers have 0 as a digit static int findCount(int d) { return 9 * ((int)(Math.Pow(10, d - 1)) - (int)(Math.Pow(9, d - 1))); } // Driver Code public static void Main() { int d = 1; Console.WriteLine(findCount(d)); d = 2; Console.WriteLine(findCount(d)); d = 4; Console.WriteLine(findCount(d)); } } // This code is contributed by nitin mittal.
PHP
<?php // PHP program to find the count // of positive integer of a given // number of digits that contain // atleast one zero // Returns count of 'd' digit // integers have 0 as a digit function findCount($d) { return 9 * (pow(10, $d - 1) - pow(9, $d - 1)); } // Driver Code { $d = 1; echo findCount($d),"\n"; $d = 2; echo findCount($d),"\n"; $d = 4; echo findCount($d), "\n"; return 0; } // This code is contributed by nitin mittal ?>
Javascript
<script> // JavaScript program to find the count // of positive integer of a // given number of digits // that contain atleast one zero // Returns count of 'd' digit // integers have 0 as a digit function findCount(d) { return 9 * ((Math.pow(10, d - 1)) - (Math.pow(9, d - 1))); } // Driver Code let d = 1; document.write(findCount(d) + "<br/>"); d = 2; document.write(findCount(d) + "<br/>"); d = 4; document.write(findCount(d) + "<br/>"); // This code is contributed by target_2. </script>
Producción :
0 9 2439
Complejidad de tiempo : O (logn)
Espacio auxiliar: O(1)
Este artículo es una contribución de Ashutosh Kumar . 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