Given an integer** N**, the task is to make an array of unique elements of length **N** such that all subarrays sum modulo **N** equals to zero.

**Examples:**

Input:N = 6

Output:6 12 18 24 30 36

Explanation:

Since all elements are a muliple of 6. Hence all subarrays add up to a sum divisible by 6.

Input:N = 4

Output:4 8 12 16

**Approach:**

We can observe that for all subarrays to be divisible by **N**, the elements of the array need to be a multiple of **N**.

**Illustration:**

For

N = 4, if we consider the array elements to {4, 8, 12, 16}, All possible subarrays are:

{4}, {8}, {12}, {16}, {4, 8}, {8, 12}, {12, 16}, {4, 8, 12}, {8, 12, 16}, {4, 8, 12, 16}

Hence, all subarrays have a sum divisible by N.

Hence, to solve the problem, we just need to print **{N, 2*N, 3*N, ….., N*N}** to get the desired array.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the ` `// above approach ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to print the required ` `// array ` `void` `makeArray(` `int` `a[], ` `int` `n) ` `{ ` ` ` `// Print the array ` ` ` `for` `(` `int` `i = 1; i <= n; i++) ` ` ` `cout << i * n << ` `" "` `; ` `} ` ` ` `// Driver Program ` `int` `main() ` `{ ` ` ` `int` `N = 6; ` ` ` `int` `arr[N]; ` ` ` `makeArray(arr, N); ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program for the above approach ` `class` `GFG{ ` ` ` `// Function to print the required ` `// array ` `static` `void` `makeArray(` `int` `a[], ` `int` `n) ` `{ ` ` ` ` ` `// Print the array ` ` ` `for` `(` `int` `i = ` `1` `; i <= n; i++) ` ` ` `System.out.print(i * n + ` `" "` `); ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `int` `N = ` `6` `; ` ` ` `int` `arr[] = ` `new` `int` `[N]; ` ` ` ` ` `makeArray(arr, N); ` `} ` `} ` ` ` `// This code is contributed by Pratima Pandey ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementation of the ` `# above approach ` ` ` `# Function to print the ` `# required array ` `def` `makeArray(n): ` ` ` ` ` `# Print Array ` ` ` `for` `i ` `in` `range` `(n): ` ` ` `print` `((i ` `+` `1` `) ` `*` `n, end ` `=` `" "` `) ` ` ` ` ` `# Driver code ` `n ` `=` `6` `; ` `makeArray(n); ` |

*chevron_right*

*filter_none*

## C#

`// C# program for the above approach ` `using` `System; ` `class` `GFG{ ` ` ` `// Function to print the required ` `// array ` `static` `void` `makeArray(` `int` `[]a, ` `int` `n) ` `{ ` ` ` ` ` `// Print the array ` ` ` `for` `(` `int` `i = 1; i <= n; i++) ` ` ` `Console.Write(i * n + ` `" "` `); ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `int` `N = 6; ` ` ` `int` `[]arr = ` `new` `int` `[N]; ` ` ` ` ` `makeArray(arr, N); ` `} ` `} ` ` ` `// This code is contributed by Code_Mech ` |

*chevron_right*

*filter_none*

**Output:**

6 12 18 24 30 36

**Time Complexity:** O(N)

**Auxiliary Space:** O(1)

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.