Open In App

Average of Cubes of first N natural numbers

Last Updated : 14 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Given a positive integer N, the task is to find the average of cubes of the first N natural numbers. 
Examples: 

Input: N = 2 
Output: 4.5 
Explanation: 
For integer N = 2, 
We have ( 13 + 23 ) = 1 + 8 = 9 
average = 9 / 2 that is 4.5
Input: N = 3 
Output: 12 
Explanation: 
For N = 3, 
We have ( 13 + 23 + 23 + 23 + 33 + 23 ) = 27 + 8 + 1 = 36 
average = 36 / 3 that is 12 


 


Naive Approach: The naive approach is to find the sum of cubes of first N natural numbers and divide it by N.
Below is the implementation of above approach:

C++
// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;

// Function to find average of cubes
double findAverageOfCube(int n)
{
    // Storing sum of cubes
    // of numbers in sum
    double sum = 0;

    // Calculate sum of cubes
    for (int i = 1; i <= n; i++) {
        sum += i * i * i;
    }

    // Return average
    return sum / n;
}

// Driver Code
int main()
{
    // Given Number
    int n = 3;

    // Function Call
    cout << findAverageOfCube(n);
}
C
// C program for the above approach
#include <stdio.h>

// Function to find average of cubes
double findAverageOfCube(int n)
{
    // Store sum of cubes of
    // numbers in the sum
    double sum = 0;

    // Calculate sum of cubes
    int i;
    for (i = 1; i <= n; i++) {
        sum += i * i * i;
    }

    // Return average
    return sum / n;
}

// Driver Code
int main()
{
    // Given number
    int n = 3;

    // Function Call
    printf("%lf", findAverageOfCube(n));
    return 0;
}
Java
// Java program for the above approach
import java.util.*; 
import java.io.*;
class GFG{

// Function to find average of cubes
static double findAverageOfCube(int n)
{
    // Storing sum of cubes
    // of numbers in sum
    double sum = 0;

    // Calculate sum of cubes
    for (int i = 1; i <= n; i++) 
    {
        sum += i * i * i;
    }

    // Return average
    return sum / n;
}

// Driver Code
public static void main(String[] args) 
{
    // Given Number
    int n = 3;

    // Function Call
    System.out.print(findAverageOfCube(n));
}
}

// This code is contributed by shivanisinghss2110
C#
// C# program for the above approach
using System;
class GFG{

// Function to find average of cubes
static double findAverageOfCube(int n)
{
    // Storing sum of cubes
    // of numbers in sum
    double sum = 0;

    // Calculate sum of cubes
    for (int i = 1; i <= n; i++) 
    {
        sum += i * i * i;
    }

    // Return average
    return sum / n;
}

// Driver Code
public static void Main() 
{
    // Given Number
    int n = 3;

    // Function Call
    Console.Write(findAverageOfCube(n));
}
}

// This code is contributed by Nidhi_biet
Javascript
<script>
// javascript program for the above approach

// Function to find average of cubes
function findAverageOfCube( n)
{

    // Store sum of cubes of
    // numbers in the sum
    let sum = 0;

    // Calculate sum of cubes
    let i;
    for (i = 1; i <= n; i++) {
        sum += i * i * i;
    }

    // Return average
    return sum / n;
}

// Driver Code

    // Given number
    let n = 3;

    // Function Call
    document.write(findAverageOfCube(n).toFixed(6));

// This code is contributed by todaysgaurav 

</script>
Python3
# Python3 program for the above approach

# Function to find average of cubes
def findAverageOfCube(n):

    # Storing sum of cubes
    # of numbers in sum
    sum = 0

    # Calculate sum of cubes
    for i in range(1, n + 1):
        sum += i * i * i

    # Return average
    return round(sum / n, 6)

# Driver Code
if __name__ == '__main__':

    # Given Number
    n = 3

    # Function Call
    print(findAverageOfCube(n))

# This code is contributed by mohit kumar 29

Output
12.000000

Time complexity: O(N) 

Space complexity: O(1) 
 

Efficient Approach: 
 

We know that, 
Sum of cubes of first N Natural Numbers = 

(\frac{N*(N+1)}{2})^{2}
 
Average is given by: 
=> 
\frac{\text{Sum of cubes of first N natural numbers}}{N}
 
=> 
\frac{(\frac{N*(N+1)}{2})^{2}}{N}
 
=> 
\frac{N^{2}*(N+1)^{2}}{4*N}
 
=> 
\frac{N*(N+1)^{2}}{4}           


Therefore, the average of the cube sum of first N natural numbers is given by 
\frac{N*(N+1)^{2}}{4}
 
Below is the implementation of above approach:

C++
// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;

// function to find an average of cubes
double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (n * (n + 1) * (n + 1)) / 4;
    return ans;
}

// Driver Code
int main()
{
    // Given Number
    int n = 3;

    // Function Call
    cout << findAverageofCube(n);

    return 0;
}
C
// C program for the above approach
#include <stdio.h>
 
// function to find an average of cubes
double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (n * (n + 1) * (n + 1)) / 4;
    return ans;
}
 
// Driver Code
int main()
{
    // Given Number
    int n = 3;
 
    // Function Call
    printf("%f",findAverageofCube(n));
 
    return 0;
}
Java
// Java program for the above approach
class GFG{

// function to find an average of cubes
static double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (int)((n * (n + 1) * (n + 1)) / 4);
    return ans;
}

// Driver Code
public static void main(String[] args)
{
    // Given Number
    int n = 3;

    // Function Call
    System.out.print(findAverageofCube(n));
}
}

// This code is contributed by shivanisinghss2110
C#
// C# program for the above approach
using System;
class GFG{

// function to find an average of cubes
static double findAverageofCube(double n)
{
    // Apply the formula n(n+1)^2/4
    int ans = (int)((n * (n + 1) * (n + 1)) / 4);
    return ans;
}

// Driver Code
public static void Main()
{
    // Given Number
    int n = 3;

    // Function Call
    Console.Write(findAverageofCube(n));
}
}

// This code is contributed by Code_Mech
Javascript
<script>
// javascript program for the above approach
// function to find an average of cubes
function findAverageofCube(n)
{
    // Apply the formula n(n+1)^2/4
    var ans = parseInt(((n * (n + 1) * (n + 1)) / 4));
    return ans;
}

// Driver Code

// Given Number
var n = 3;

// Function Call
document.write(findAverageofCube(n));

// This code is contributed by Amit Katiyar 
</script>
Python3
# Python3 program for the above approach

# Function to find average of cubes
def findAverageOfCube (n):

    # Apply the formula n*(n+1)^2/4
    ans = (n * (n + 1) * (n + 1)) / 4
    return ans

# Driver code
if __name__ == '__main__':

    # Given number
    n = 3

    # Function call
    print(findAverageOfCube(n))

# This code is contributed by himanshu77

Output
12.000000

Time Complexity: O(1)

Space complexity: O(1)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads