Dado un valor X, la tarea es encontrar el número Y que dará el valor máximo posible cuando XOR con X.
(Suponga que X tiene 8 bits) El valor máximo posible de X e Y es 255.
Ejemplos:
Input: X = 2 Output: 253 Binary Representation of X = 00000010 Binary Representation of Y = 11111101 Maximum XOR value: 11111111 Input: X = 200 Output: 55
Enfoque: para garantizar el valor máximo de XOR, debemos activar todos los bits que están desactivados en X. Entonces, para eso, Y debe tener todos los bits activados que están desactivados en X y desactivados que están activados en X como ( 0^1 = 1 y 1^0 = 1). Entonces, Y debería ser la representación en complemento a 1 de X.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the above approach #include <bits/stdc++.h> using namespace std; // Function To Calculate Answer int calculate(int X) { // Find number of bits in the given integer int number_of_bits = 8; // XOR the given integer with poe(2, // number_of_bits-1 and print the result return ((1 << number_of_bits) - 1) ^ X; } // Driver Code int main() { int X = 4; cout << "Required Number is : " << calculate(X) << endl; return 0; }
Java
// Java implementation of the above approach import java.io.*; class GFG { // Function To Calculate Answer static int calculate(int X) { // Find number of bits in the given integer int number_of_bits = 8; // XOR the given integer with poe(2, // number_of_bits-1 and print the result return ((1 << number_of_bits) - 1) ^ X; } // Driver Code public static void main (String[] args) { int X = 4; System.out.println( "Required Number is : " +calculate(X)); } } // This code is contributed by shs..
Python3
# Python3 implementation of the above approach # Function To Calculate Answer def calculate(X): # Find number of bits in the given integer number_of_bits = 8 # XOR the given integer with poe(2, # number_of_bits-1 and print the result return ((1 << number_of_bits) - 1) ^ X # Driver Code if __name__ == "__main__": X = 4 print("Required Number is:", calculate(X)) # This code is contributed by Rituraj Jain
C#
// C# implementation of the above approach using System; class GFG { // Function To Calculate Answer static int calculate(int X) { // Find number of bits in // the given integer int number_of_bits = 8; // XOR the given integer with poe(2, // number_of_bits-1 and print the result return ((1 << number_of_bits) - 1) ^ X; } // Driver Code public static void Main () { int X = 4; Console.WriteLine("Required Number is : " + calculate(X)); } } // This code is contributed by shs..
PHP
<?php // PHP implementation of the // above approach // Function To Calculate Answer function calculate($X) { // Find number of bits in // the given integer $number_of_bits = 8; // XOR the given integer with // poe(2, number_of_bits-1 and // print the result return ((1 << $number_of_bits) - 1) ^ $X; } // Driver Code $X = 4; echo "Required Number is : " . calculate($X) . "\n"; // This code is contributed // by Akanksha Rai ?>
Javascript
<script> // Javascript implementation of the above approach // Function To Calculate Answer function calculate(X) { // Find number of bits in the given integer let number_of_bits = 8; // XOR the given integer with poe(2, // number_of_bits-1 and print the result return ((1 << number_of_bits) - 1) ^ X; } // Driver Code let X = 4; document.write("Required Number is : " + calculate(X) + "<br>"); </script>
Producción:
Required Number is : 251