Dada una string str , la tarea es encontrar el XOR de los valores ASCII de los caracteres de la string.
Ejemplos:
Entrada: str = «Geeks»
Salida: 95
Valor ASCII de G = 71
Valor ASCII de e = 101
Valor ASCII de e = 101
Valor ASCII de k = 107
Valor ASCII de s = 115
XOR de valores ASCII = 71 ^ 101 ^ 101 ^ 107 ^ 115 = 95
Entrada: str = “GfG”
Salida: 102
Enfoque: La idea es averiguar el valor ASCII de cada carácter uno por uno y encontrar el valor XOR de estos valores .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find XOR of ASCII // value of characters in string #include <bits/stdc++.h> using namespace std; // Function to find the XOR of ASCII // value of characters in string int XorAscii(string str, int len) { // store value of first character int ans = int(str[0]); for (int i = 1; i < len; i++) { // Traverse string to find the XOR ans = (ans ^ (int(str[i]))); } // Return the XOR return ans; } // Driver code int main() { string str = "geeksforgeeks"; int len = str.length(); cout << XorAscii(str, len) << endl; str = "GfG"; len = str.length(); cout << XorAscii(str, len); return 0; }
Java
// Java program to find XOR of ASCII // value of characters in String class GFG{ // Function to find the XOR of ASCII // value of characters in String static int XorAscii(String str, int len) { // store value of first character int ans = (str.charAt(0)); for (int i = 1; i < len; i++) { // Traverse String to find the XOR ans = (ans ^ ((str.charAt(i)))); } // Return the XOR return ans; } // Driver code public static void main(String[] args) { String str = "geeksforgeeks"; int len = str.length(); System.out.print(XorAscii(str, len) +"\n"); str = "GfG"; len = str.length(); System.out.print(XorAscii(str, len)); } } // This code is contributed by PrinciRaj1992
Python3
# Python3 program to find XOR of ASCII # value of characters in string # Function to find the XOR of ASCII # value of characters in string def XorAscii(str1, len1): # store value of first character ans = ord(str1[0]) for i in range(1,len1): # Traverse string to find the XOR ans = (ans ^ (ord(str1[i]))) # Return the XOR return ans # Driver code str1 = "geeksforgeeks" len1 = len(str1) print(XorAscii(str1, len1)) str1 = "GfG" len1 = len(str1) print(XorAscii(str1, len1)) # This code is contributed by mohit kumar 29
C#
// C# program to find XOR of ASCII // value of characters in String using System; class GFG{ // Function to find the XOR of ASCII // value of characters in String static int XorAscii(String str, int len) { // store value of first character int ans = (str[0]); for (int i = 1; i < len; i++) { // Traverse String to find the XOR ans = (ans ^ ((str[i]))); } // Return the XOR return ans; } // Driver code public static void Main(String[] args) { String str = "geeksforgeeks"; int len = str.Length; Console.Write(XorAscii(str, len) +"\n"); str = "GfG"; len = str.Length; Console.Write(XorAscii(str, len)); } } // This code is contributed by PrinciRaj1992
Javascript
<script> // Javascript program to find XOR of ASCII // value of characters in string // Function to find the XOR of ASCII // value of characters in string function XorAscii(str, len) { // store value of first character let ans = str.codePointAt(0); for (let i = 1; i < len; i++) { // Traverse string to find the XOR ans = (ans ^ (str.codePointAt(i))); } // Return the XOR return ans; } // Driver code let str = "geeksforgeeks"; let len = str.length; document.write(XorAscii(str, len) + "<br>"); str = "GfG"; len = str.length; document.write(XorAscii(str, len)); </script>
Producción:
123 102
Complejidad de tiempo: O(N) , donde N es la longitud de la string.