Skip to content
Related Articles

Related Articles

Improve Article

Construct an Array of size N whose sum of cube of all elements is a perfect square

  • Last Updated : 31 Mar, 2021

Given an integer N, the tasks is to construct a sorted array arr[] of size N, such that the sum of cube of all elements is a perfect square, i.e. \sum_{}A_i^3=X^2  , where X is an integer.

Examples:  

Input: N = 5 
Output: 1 2 3 4 5 
Explanation 
Sum of cube of all elements = 1 + 8 + 27 + 64 + 125 = 225 
which is a perfect square number.

Input: N = 1 
Output:
 

Solution Approach: 



  1. The sum of cubes of first N natural number is given by:
    (\frac{N \times(N+1)}{2})^2
  2. So, the summation is itself, a perfect square of the integer X^2&=(\frac{N \times(N+1)}{2})^2
  3. Therefore X&=(\frac{N \times(N+1)}{2})  , which is nothing but sum of N natural numbers.
  4. So, just print the first N natural numbers to construct the 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 construct an array
// of size N
void constructArray(int N)
{
    for (int i = 1; i <= N; i++) {
 
        // Prints the first N
        // natural numbers
        cout << i << " ";
    }
}
 
// Driver code
int main()
{
    int N = 5;
    constructArray(N);
    return 0;
}

Java




// Java implementation of the
// above approach
class GFG{
     
// Function to construct an array
// of size N
public static void constructArray(int N)
{
    for(int i = 1; i <= N; i++)
    {
        
       // Prints the first N
       // natural numbers
       System.out.print(i + " ");
    }
}
 
// Driver Code
public static void main(String[] args)
{
    int N = 5;
    constructArray(N);
}
}
 
// This code is contributed by divyeshrabadiya07   

Python3




# Python3 implementation of the
# above approach
 
# Function to construct an array
# of size N
def constructArray(N):
     
    for i in range(1, N + 1):
         
        # Prints the first N
        # natural numbers
        print(i, end = ' ')
         
 
# Driver code
if __name__=='__main__':
     
    N = 5
     
    constructArray(N)
 
# This code is contributed by rutvik_56   

C#




// C# implementation of the
// above approach
using System;
class GFG{
     
// Function to construct an array
// of size N
public static void constructArray(int N)
{
    for(int i = 1; i <= N; i++)
    {
         
        // Prints the first N
        // natural numbers
        Console.Write(i + " ");
    }
}
 
// Driver Code
public static void Main(String[] args)
{
    int N = 5;
    constructArray(N);
}
}
 
// This code is contributed by sapnasingh4991

Javascript




<script>
 
// JavaScript implementation of the
// above approach
 
// Function to construct an array
// of size N
function constructArray(N)
{
    for(let i = 1; i <= N; i++)
    {
         
        // Prints the first N
        // natural numbers
        document.write(i + " ");
    }
}
 
// Driver code
let N = 5;
 
constructArray(N);
 
// This code is contributed by Surbhi Tyagi.
 
</script>
Output: 
1 2 3 4 5

 

Time Complexity: O(N) 
Auxiliary Space: 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.




My Personal Notes arrow_drop_up
Recommended Articles
Page :