Given two integer N and K, the task is to find the value of N XOR N XOR N XOR N … XOR N (K times).
Examples:
Input: N = 123, K = 3
Output: 123
(123 ^ 123 ^ 123) = 123
Input: N = 123, K = 2
Output: 0
(123 ^ 123) = 0
Naive approach: Simply run a for loop and xor N, K times.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach#include <bits/stdc++.h>using namespace std;// Function to return n ^ n ^ ... k timesint xorK(int n, int k){ // Find the result int res = n; for (int i = 1; i < k; i++) res = (res ^ n); return res;}// Driver codeint main(){ int n = 123, k = 3; cout << xorK(n, k); return 0;} |
Java
// Java implementation of the approachclass GFG{// Function to return n ^ n ^ ... k timesstatic int xorK(int n, int k){ // Find the result int res = n; for (int i = 1; i < k; i++) res = (res ^ n); return n;}// Driver codepublic static void main(String[] args){ int n = 123, k = 3; System.out.print(xorK(n, k));}}// This code is contributed by 29AjayKumar |
Python3
# Python3 implementation of the approach# Function to return n ^ n ^ ... k timesdef xorK(n, k): # Find the result res = n for i in range(1, k): res = (res ^ n) return n# Driver coden = 123k = 3print(xorK(n, k))# This code is contributed by Mohit Kumar |
C#
// C# implementation of the approachusing System;class GFG{ // Function to return n ^ n ^ ... k timesstatic int xorK(int n, int k){ // Find the result int res = n; for (int i = 1; i < k; i++) res = (res ^ n); return n;}// Driver codestatic public void Main (){ int n = 123, k = 3; Console.Write(xorK(n, k));}}// This code is contributed by ajit. |
Javascript
<script>// JavaSCript implementation of the approach// Function to return n ^ n ^ ... k timesfunction xorK(n, k){ // Find the result let res = n; for (let i = 1; i < k; i++) res = (res ^ n); return n;}// Driver code let n = 123, k = 3; document.write(xorK(n, k));// This code is contributed by Surbhi Tyagi.</script> |
123
Time Complexity: O(K)
Space Complexity: O(1)
Efficient approach: From the properties X XOR X = 0 and X ^ 0 = X, it can be observed that when K is odd then the answer will be N itself else the answer will be 0.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach#include <bits/stdc++.h>using namespace std;// Function to return n ^ n ^ ... k timesint xorK(int n, int k){ // If k is odd the answer is // the number itself if (k % 2 == 1) return n; // Else the answer is 0 return 0;}// Driver codeint main(){ int n = 123, k = 3; cout << xorK(n, k); return 0;} |
Java
// Java implementation of the approachclass GFG{// Function to return n ^ n ^ ... k timesstatic int xorK(int n, int k){ // If k is odd the answer is // the number itself if (k % 2 == 1) return n; // Else the answer is 0 return 0;}// Driver codepublic static void main(String[] args){ int n = 123, k = 3; System.out.print(xorK(n, k));}}// This code is contributed by PrinciRaj1992 |
Python3
# Python implementation of the approach # Function to return n ^ n ^ ... k times def xorK(n, k): # If k is odd the answer is # the number itself if (k % 2 == 1): return n # Else the answer is 0 return 0# Driver code n = 123k = 3print(xorK(n, k))# This code is contributed by Sanjit_Prasad |
C#
// C# implementation of the approachusing System;class GFG{// Function to return n ^ n ^ ... k timesstatic int xorK(int n, int k){ // If k is odd the answer is // the number itself if (k % 2 == 1) return n; // Else the answer is 0 return 0;}// Driver codepublic static void Main(String[] args){ int n = 123, k = 3; Console.Write(xorK(n, k));}}// This code is contributed by 29AjayKumar |
Javascript
<script> // Javascript implementation of the approach // Function to return n ^ n ^ ... k times function xorK(n, k) { // If k is odd the answer is // the number itself if (k % 2 == 1) return n; // Else the answer is 0 return 0; } let n = 123, k = 3; document.write(xorK(n, k)); </script> |
123
Time Complexity: O(1)
Space Complexity: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Info to that Topic: geeksforgeeks.org/find-the-value-of-n-xored-to-itself-k-times/ […]
… [Trackback]
[…] Find More to that Topic: geeksforgeeks.org/find-the-value-of-n-xored-to-itself-k-times/ […]
… [Trackback]
[…] Find More here on that Topic: geeksforgeeks.org/find-the-value-of-n-xored-to-itself-k-times/ […]