Dado un número no negativo n. El problema es establecer el bit no establecido más a la derecha en la representación binaria de n
Ejemplos:
Input : 21 Output : 23 (21)10 = (10101)2 Rightmost unset bit is at position 2(from right) as highlighted in the binary representation of 21. (23)10 = (10111)2 The bit at position 2 has been set. Input : 2 Output : 3
En este artículo
se analiza un método. Esta publicación analiza otro método.
Deje que el número de entrada sea n. n+1 tendría todos los bits invertidos después del bit desarmado más a la derecha (incluido el bit desarmado). Entonces, hacer n|(n+1) nos daría el resultado requerido.
C++
#include <stdio.h> // sets the rightmost unset bit // of n and returns the result int fun(unsigned int n) { return n | (n + 1); } // Driver Code int main() { int n = 5; printf("The number after setting the"); printf(" rightmost unset bit %d", fun(n)); return 0; }
Java
class GFG { // sets the rightmost unset bit // of n and returns the result static int fun(int n) { return n | (n + 1); } // Driver Code public static void main(String[] args) { int n = 5; System.out.printf("The number " + "after setting the"); System.out.printf(" rightmost " + " unset bit %d", fun(n)); } } // This code is contributed by Smitha
Python3
# sets the rightmost unset bit # of n and returns the result def fun(n): return n | (n + 1) # Driver Code n = 5 print("The number after setting the", end="") print(" rightmost unset bit ", fun(n)) # This code is contributed by Smitha
C#
using System; class GFG { // sets the rightmost unset bit // of n and returns the result static int fun(int n) { return n | (n + 1); } // Driver Code public static void Main() { int n = 5; Console.Write("The number " + "after setting the"); Console.Write(" rightmost " + "unset bit "+ fun(n)); } } // This code is contributed by Smitha
PHP
<?php // PHP program to Set the rightmost // unset bit // sets the rightmost unset bit // of n and returns the result function fun($n) { return $n | ($n + 1); } // Driver Code $n = 5; echo "The number after setting the"; echo " rightmost unset bit ", fun($n); // This code is contributed m_kit ?>
Javascript
<script> // sets the rightmost unset bit // of n and returns the result function fun(n) { return n | (n + 1); } // Driver Code let n = 5; document.write("The number after setting the"); document.write(" rightmost unset bit ", fun(n)); // This code is contributed by Manoj. </script>
Producción :
The number after setting the rightmost unset bit 7
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por aganjali10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA