Given three integers **N**, **K** and **X**, the task is to construct an array of length **N**, in which **XOR** of all elements of each contiguous sub-array of length **K** is **X**.**Examples:**

Input:N = 5, K = 1, X = 4Output:4 4 4 4 4Explanation:

Each subarray of length 1 has Xor value equal to 4.Input:N = 5, K = 2, X = 4Output:4 0 4 0 4Explanation:

Each subarray of length 2 has Xor value equal to 4.

**Approach:**

To solve the problem mentioned above, we need to follow the steps given below:

- Bitwise-XOR of any number,
**X**with**0**is equal to the number itself. So, if we set the first element of the array**A**as X, and the next**K – 1**elements as**0**, then we will have the XOR of elements of first sub-array of length K, equal to X. - If we set
**A[K]**as**A[0]**, then we will have XOR(A[1], …, A[K]) = X. Similarly, if we set**A[K + 1]**as**A[1]**, then we will have XOR(A[2], …, A[K+1]) = X - Continuing in this manner, we can observe that the general formula can be described as below:

Below is the implementation of the above approach:

## C++

`// C++ implementation to Create an array` `// in which the XOR of all elements of` `// each contiguous sub-array of` `// length K is X` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to construct the array` `void` `constructArray(` `int` `N, ` `int` `K, ` `int` `X)` `{` ` ` `// Creating a vector of size K,` ` ` `// initialised with 0` ` ` `vector<` `int` `> ans(K, 0);` ` ` `// Initialising the first element` ` ` `// with the given XOR` ` ` `ans[0] = X;` ` ` `for` `(` `int` `i = 0; i < N; ++i) {` ` ` `cout << ans[i % K] << ` `" "` `;` ` ` `}` ` ` `cout << endl;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `N = 5, K = 2, X = 4;` ` ` `constructArray(N, K, X);` ` ` `return` `0;` `}` |

## Java

`// Java implementation to create an array` `// in which the XOR of all elements of` `// each contiguous sub-array of` `// length K is X` `class` `GFG{` ` ` `// Function to construct the array` `public` `static` `void` `constructArray(` `int` `N, ` `int` `K,` ` ` `int` `X)` `{` ` ` ` ` `// Creating an array of size K,` ` ` `// initialised with 0` ` ` `int` `[] ans = ` `new` `int` `[K];` ` ` ` ` `// Initialising the first element` ` ` `// with the given XOR` ` ` `ans[` `0` `] = X;` ` ` ` ` `for` `(` `int` `i = ` `0` `; i < N; ++i)` ` ` `{` ` ` `System.out.print(ans[i % K] + ` `" "` `);` ` ` `}` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `N = ` `5` `, K = ` `2` `, X = ` `4` `;` ` ` ` ` `constructArray(N, K, X);` `}` `}` `// This code is contributed by divyeshrabadiya07` |

## Python3

`# Python3 implementation to create an array` `# in which the XOR of all elements of` `# each contiguous sub-array of` `# length K is X` `# Function to construct the array` `def` `constructArray(N, K, X):` ` ` ` ` `# Creating a list of size K,` ` ` `# initialised with 0` ` ` `ans ` `=` `[]` ` ` ` ` `for` `i ` `in` `range` `(` `0` `, K):` ` ` `ans.append(` `0` `)` ` ` ` ` `# Initialising the first element` ` ` `# with the given XOR` ` ` `ans[` `0` `] ` `=` `X` ` ` ` ` `for` `i ` `in` `range` `(` `0` `, N):` ` ` `print` `(ans[i ` `%` `K], end ` `=` `" "` `)` `# Driver code` `N ` `=` `5` `K ` `=` `2` `X ` `=` `4` `# Function call` `constructArray(N, K, X)` `# This code is contributed by ishayadav181` |

## C#

`// C# implementation to create an array` `// in which the XOR of all elements of` `// each contiguous sub-array of` `// length K is X` `using` `System;` `class` `GFG{` ` ` `// Function to construct the array` `public` `static` `void` `constructArray(` `int` `N, ` `int` `K,` ` ` `int` `X)` `{` ` ` ` ` `// Creating an array of size K,` ` ` `// initialised with 0` ` ` `int` `[] ans = ` `new` `int` `[K];` ` ` ` ` `// Initialising the first element` ` ` `// with the given XOR` ` ` `ans[0] = X;` ` ` ` ` `for` `(` `int` `i = 0; i < N; ++i)` ` ` `{` ` ` `Console.Write(ans[i % K] + ` `" "` `);` ` ` `}` `}` `// Driver code` `public` `static` `void` `Main(` `string` `[] args)` `{` ` ` `int` `N = 5, K = 2, X = 4;` ` ` ` ` `constructArray(N, K, X);` `}` `}` `// This code is contributed by rutvik_56` |

## Javascript

`<script>` `// Javascript implementation to Create an array` `// in which the XOR of all elements of` `// each contiguous sub-array of` `// length K is X` `// Function to construct the array` `function` `constructArray(N, K, X)` `{` ` ` `// Creating a vector of size K,` ` ` `// initialised with 0` ` ` `let ans = ` `new` `Array(K).fill(0);` ` ` `// Initialising the first element` ` ` `// with the given XOR` ` ` `ans[0] = X;` ` ` `for` `(let i = 0; i < N; ++i) {` ` ` `document.write(ans[i % K] + ` `" "` `);` ` ` `}` ` ` `document.write(` `"<br>"` `);` `}` `// Driver code` ` ` `let N = 5, K = 2, X = 4;` ` ` `constructArray(N, K, X);` `</script>` |

**Output:**

4 0 4 0 4

**Time Complexity:*** O(N)*

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend live classes with industry experts, please refer **Geeks Classes Live** and **Geeks Classes Live USA**