Related Articles
Construct an array of first N natural numbers such that every adjacent pair is coprime
• Last Updated : 04 Dec, 2020

Given a positive integer N, the task is to construct an array consisting of first N natural numbers such that each pair of adjacent elements in the array is a co-prime. If multiple solutions exist, then print any one of them.

Examples:

Input: N = 4
Output: 4 1 3 2
Explanation:
All possible adjacent pairs of the array are { (4, 1), (1, 3), (3, 2) }
Since all adjacent pairs of the array are co-prime, the required output is 4 1 3 2.

Input: N = 7
Output: 3 4 5 7 6 1 2

Approach: The idea is to iterate over the range [1, N] using variable i and print the value of i. Following are the observations:

GCD(i, i + 1) = 1
Therefore, for all possible value of i the pair (i, i + 1) are coprime numbers.

Below is the implementation of the above approach:

## C++

 `// C++ program to implement` `// the above approach`   `#include ` `using` `namespace` `std;`   `// Function to construct an arrary with` `// adjacent elements as co-prime numbers` `void` `ConstArrayAdjacentCoprime(``int` `N)` `{` `    ``// Iterate over the range [1, N]` `    ``for` `(``int` `i = 1; i <= N; i++) {`   `        ``// Print i` `        ``cout << i << ``" "``;` `    ``}` `}`   `// Driver Code` `int` `main()` `{` `    ``int` `N = 6;`   `    ``ConstArrayAdjacentCoprime(N);` `    ``return` `0;` `}`

## Java

 `// Java program to implement` `// the above approach` `class` `GFG` `{`   `    ``// Function to construct an arrary with` `    ``// adjacent elements as co-prime numbers` `    ``static` `void` `ConstArrayAdjacentCoprime(``int` `N)` `    ``{` `        ``// Iterate over the range [1, N]` `        ``for` `(``int` `i = ``1``; i <= N; i++)` `        ``{` `    `  `            ``// Print i` `            ``System.out.print(i + ``" "``);` `        ``}` `    ``}`   `    ``// Driver Code` `    ``public` `static` `void` `main (String[] args)` `    ``{` `      ``int` `N = ``6``;` `      ``ConstArrayAdjacentCoprime(N);` `    ``}` `}`   `// This code is contributed by AnkitRai01`

## Python3

 `# Python3 program to implement` `# the above approach`   `# Function to construct an arrary with` `# adjacent elements as co-prime numbers` `def` `ConstArrayAdjacentCoprime(N):`   `    ``# Iterate over the range [1, N]` `    ``for` `i ``in` `range``(``1``, N ``+` `1``):` `      `  `        ``# Print i` `        ``print``(i, end ``=` `" "``)`   `# Driver Code` `if` `__name__ ``=``=` `"__main__"` `:`   `    ``N ``=` `6`   `    ``ConstArrayAdjacentCoprime(N)`   `# This code is contributed by AnkitRai01`

## C#

 `// C# program to implement` `// the above approach  ` `using` `System;`   `class` `GFG{` ` `  `// Function to construct an arrary with` `// adjacent elements as co-prime numbers` `static` `void` `ConstArrayAdjacentCoprime(``int` `N)` `{` `    `  `    ``// Iterate over the range [1, N]` `    ``for``(``int` `i = 1; i <= N; i++)` `    ``{` `        `  `        ``// Print i` `        ``Console.Write(i + ``" "``);` `    ``}` `}`   `// Driver Code` `public` `static` `void` `Main ()` `{` `    ``int` `N = 6;` `    `  `    ``ConstArrayAdjacentCoprime(N);` `}` `}`   `// This code is contributed by susmitakundugoaldanga`

Output:

`1 2 3 4 5 6`

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.

My Personal Notes arrow_drop_up
Recommended Articles
Page :