Promedio de cubos de los primeros N números naturales

Dado un entero positivo N , la tarea es encontrar el promedio de los cubos de los primeros N números naturales. 
Ejemplos: 

Entrada: N = 2 
Salida: 4.5 
Explicación: 
Para el número entero N = 2, 
tenemos ( 1 3 + 2 3 ) = 1 + 8 = 9 
promedio = 9 / 2 que es 4.5
Entrada: N = 3 
Salida: 12 
Explicación: 
Para N = 3, 
Tenemos ( 1 3 + 2 3 + 2 3 + 2 3 + 3 3 + 2 3 ) = 27 + 8 + 1 = 36 
promedio = 36 / 3 que es 12 

Enfoque ingenuo: El enfoque ingenuo es encontrar la suma de los cubos de los primeros N números naturales y dividirla por N.
A continuación se muestra la implementación del enfoque anterior:

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;
}

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);
}

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

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

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>
Producción: 

12.000000

 

Complejidad del tiempo: O(N) 

Complejidad del espacio : O(1) 
 

Enfoque eficiente: 
 

Sabemos que, 
Suma de cubos de primeros N Números Naturales = 

(\frac{N*(N+1)}{2})^{2}
 
El promedio viene dado por: 
=> 
\frac{\text{Suma de los cubos de los primeros N números naturales}}{N}
 
=> 
\frac{(\frac{N*(N+1)}{2})^{2}}{N}
 
=> 
\frac{N^{2}*(N+1)^{2}}{4*N}
 
=> 
\frac{N*(N+1)^{2}}{4}          

Por lo tanto, el promedio de la suma cúbica de los primeros N números naturales viene dado por 
\frac{N*(N+1)^{2}}{4}
 
A continuación se muestra la implementación del enfoque anterior:

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;
}

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;
}

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

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

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>
Producción: 

12.000000

 

Complejidad de tiempo: O(1)

Complejidad del espacio: O(1)

Publicación traducida automáticamente

Artículo escrito por coder_nero y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *