Dados dos números enteros N y K , la tarea es representar N en K bits e imprimir el número obtenido después de voltear todos los bits.
Ejemplos:
Entrada: N = 1, K = 32
Salida: 4294967294
Explicación:
1 en K(= 32) la representación de bits es (000000000000000000000000000000001) 2 .
Voltear todos los bits modifica N a (11111111111111111111111111111110) 2 = (4294967294) 10 .Entrada: N = 0, K = 32
Salida: 4294967295
Enfoque: siga los pasos a continuación para resolver el problema:
- Encuentre el valor de (1 << (K – 1)) – 1 , digamos X .
- Finalmente, imprima el valor de (X – N) .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ Program for the above approach #include <bits/stdc++.h> using namespace std; // Function to flip all K-bits // of an unsigned number N void flippingBits(unsigned long N, unsigned long K) { // Stores (2 ^ K) - 1 unsigned long X = (1 << (K - 1)) - 1; // Update N N = X - N; // Print the answer cout << N; } // Driver Code int main() { unsigned long N = 1, K = 8; flippingBits(N, K); return 0; }
Java
// Java program for the above approach import java.util.*; class GFG{ // Function to flip all K-bits // of an unsigned number N static void flippingBits(long N, long K) { // Stores (2 ^ K) - 1 long X = (1 << (K - 1)) - 1; // Update N N = X - N; // Print the answer System.out.print(N); } // Driver Code public static void main(String[] args) { long N = 1, K = 8; flippingBits(N, K); } } // This code is contributed by shikhasingrajput
Python3
# Python3 Program for the above approach # Function to flip all K-bits # of an unsigned number N def flippingBits(N, K): # Stores (2 ^ K) - 1 X = (1 << (K - 1)) - 1 # Update N N = X - N # Print the answer print(N) # Driver Code if __name__ == '__main__': N, K = 1, 8 flippingBits(N, K) # This code is contribute by mohit kumar 29
C#
// C# program for the above approach using System; class GFG{ // Function to flip all K-bits // of an unsigned number N static void flippingBits(int N, int K) { // Stores (2 ^ K) - 1 int X = (1 << (K - 1)) - 1; // Update N N = X - N; // Print the answer Console.Write(N); } // Driver Code public static void Main(string[] args) { int N = 1, K = 8; flippingBits(N, K); } } // This code is contributed by chitranayal
Javascript
<script> // Javascript program of the above approach // Function to flip all K-bits // of an unsigned number N function flippingBits(N, K) { // Stores (2 ^ K) - 1 let X = (1 << (K - 1)) - 1; // Update N N = X - N; // Print the answer document.write(N); } // Driver Code let N = 1, K = 8; flippingBits(N, K); </script>
126
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por shahbazalam75508 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA