Given a number **N**, the task is to find distinct **N** numbers such that their product is a perfect cube.**Examples:**

Input:N = 3Output:1, 8, 27Explanation:

Product of the output numbers = 1 * 8 * 27 = 216, which is the perfect cube of 6 (6^{3}= 216)Input:N = 2Output:1 8Explanation:

Product of the output numbers = 1 * 8 = 8, which is the perfect cube of 2 (2^{3}= 8)

**Approach:** The solution is based on the fact that

The product of the first ‘N’ Perfect Cube numbers is always a Perfect Cube.

So, the Perfect Cube of first N natural numbers will be printed as the output.**For example:**

For N = 1 => [1] Product is 1 and cube root of 1 is also 1 For N = 2 => [1, 8] Product is 8 and cube root of 8 is 2 For N = 3 => [1, 8, 27] Product is 216 and cube root of 216 is 6 and so on

Below is the implementation of the above approach:

## C++

`// C++ program to find N numbers such that` `// their product is a perfect cube` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the N numbers such` `//that their product is a perfect cube` `void` `findNumbers(` `int` `N)` `{` ` ` `int` `i = 1;` ` ` `// Loop to traverse each` `//number from 1 to N` ` ` `while` `(i <= N) {` `// Print the cube of i` `//as the ith term of the output` ` ` `cout << (i * i * i)` ` ` `<< ` `" "` `;` ` ` `i++;` ` ` `}` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `N = 4;` ` ` `// Function Call` ` ` `findNumbers(N);` `}` |

## Java

`// Java program to find N numbers such that` `// their product is a perfect cube` `import` `java.util.*;` `class` `GFG` `{` ` ` `// Function to find the N numbers such` `//that their product is a perfect cube` `static` `void` `findNumbers(` `int` `N)` `{` ` ` `int` `i = ` `1` `;` ` ` `// Loop to traverse each` ` ` `//number from 1 to N` ` ` `while` `(i <= N) {` ` ` `// Print the cube of i` ` ` `//as the ith term of the output` ` ` `System.out.print( (i * i * i)` ` ` `+ ` `" "` `);` ` ` `i++;` ` ` `}` `}` `// Driver Code` `public` `static` `void` `main (String []args)` `{` ` ` `int` `N = ` `4` `;` ` ` `// Function Call` ` ` `findNumbers(N);` `}` `}` `// This code is contributed by chitranayal` |

## Python3

`# Python3 program to find N numbers such that` `# their product is a perfect cube` `# Function to find the N numbers such` `# that their product is a perfect cube` `def` `findNumbers(N):` ` ` `i ` `=` `1` ` ` `# Loop to traverse each` ` ` `# number from 1 to N` ` ` `while` `(i <` `=` `N):` ` ` ` ` `# Print the cube of i` ` ` `# as the ith term of the output` ` ` `print` `((i ` `*` `i ` `*` `i), end` `=` `" "` `)` ` ` `i ` `+` `=` `1` `# Driver Code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `N ` `=` `4` ` ` `# Function Call` ` ` `findNumbers(N)` `# This code is contributed by mohit kumar 29` |

## C#

`// C# program to find N numbers such that` `// their product is a perfect cube` `using` `System;` `class` `GFG` `{` ` ` `// Function to find the N numbers such` `//that their product is a perfect cube` `static` `void` `findNumbers(` `int` `N)` `{` ` ` `int` `i = 1;` ` ` `// Loop to traverse each` ` ` `//number from 1 to N` ` ` `while` `(i <= N) {` ` ` `// Print the cube of i` ` ` `//as the ith term of the output` ` ` `Console.Write( (i * i * i)` ` ` `+ ` `" "` `);` ` ` `i++;` ` ` `}` `}` `// Driver Code` `public` `static` `void` `Main (` `string` `[]args)` `{` ` ` `int` `N = 4;` ` ` `// Function Call` ` ` `findNumbers(N);` `}` `}` `// This code is contributed by Yash_R` |

## Javascript

`<script>` `// JavaScript program to find N numbers such that` `// their product is a perfect cube` `// Function to find the N numbers such` `//that their product is a perfect cube` `function` `findNumbers(N)` `{` ` ` `let i = 1;` ` ` `// Loop to traverse each` ` ` `//number from 1 to N` ` ` `while` `(i <= N) {` ` ` `// Print the cube of i` ` ` `//as the ith term of the output` ` ` `document.write((i * i * i)` ` ` `+ ` `" "` `);` ` ` `i++;` ` ` `}` `}` `// Driver Code` ` ` `let N = 4;` ` ` `// Function Call` ` ` `findNumbers(N);` `// This code is contributed by Manoj.` `</script>` |

**Output:**

1 8 27 64

**Performance Analysis:**

**Time Complexity:**As in the above approach, we are finding the Perfect Cube of N numbers, therefore it will take**O(N)**time.**Auxiliary Space Complexity:**As in the above approach, there are no extra space used; therefore the Auxiliary Space complexity will be**O(1)**.

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**