Dado un número entero N , la tarea es encontrar el recuento de números binarios de N bits sin ceros a la izquierda.
Ejemplos:
Entrada: N = 2
Salida: 2
10 y 11 son los únicos números binarios posibles.
Entrada: N = 4
Salida: 8
Enfoque: dado que los números no pueden tener ceros a la izquierda, el bit más a la izquierda debe establecerse en 1 . Ahora, para el resto de los N – 1 bits, hay dos opciones: se pueden establecer en 0 o 1 . Entonces, el conteo de números posibles será 2 N – 1 .
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 possible numbers int count(int n) { return pow(2, n - 1); } // Driver code int main() { int n = 4; cout << count(n); return 0; }
Java
// Java implementation of the approach class GFG { // Function to return the count // of possible numbers static int count(int n) { return (int)Math.pow(2, n - 1); } // Driver code public static void main (String[] args) { int n = 4; System.out.println(count(n)); } } // This code is contributed by AnkitRai01
Python3
# Python3 implementation of the approach # Function to return the count # of possible numbers def count(n): return pow(2, n - 1) # Driver code n = 4 print(count(n)) # This code is contributed by mohit kumar
C#
// C# implementation of the approach using System; class GFG { // Function to return the count // of possible numbers static int count(int n) { return (int)Math.Pow(2, n - 1); } // Driver code public static void Main (String[] args) { int n = 4; Console.WriteLine(count(n)); } } // This code is contributed by 29AjayKumar
Javascript
<script> // JavaScript implementation of the approach // Function to return the count // of possible numbers function count(n) { return Math.pow(2, n - 1); } // Driver code var n = 4; document.write(count(n)); </script>
Producción:
8
Complejidad de tiempo: O (log n)
Espacio Auxiliar: O(1)