Imprime N números tales que su suma sea un Cubo Perfecto

Dado un número N , la tarea es encontrar los N números tales que su suma sea un cubo perfecto .

Ejemplos:  

Entrada: N = 3 
Salida: 1 7 19 
Explicación: 
Suma de números = 1 + 7 + 19 = 27, 
que es el cubo perfecto de 3 => 3 3 = 27

Entrada: N = 4 
Salida: 1 7 19 37 
Suma de números = 1 + 7 + 19 + 37 = 64, 
que es el cubo perfecto de 4 => 4 3 = 64 

Planteamiento: 
Al considerar Números Hexagonales Centrados que establece que: 

La suma de los primeros N números hexagonales centrados es un cubo perfecto de N 
 

Entonces, a partir de Números Hexagonales Centrados, los primeros N términos de la serie darán los N números tales que su suma es un cubo perfecto.

Por ejemplo:  

For N = 1,
    Centered Hexagonal Series = 1
    and 13 = 1
    Hence, {1} is the required N number

For N = 2,
    Centered Hexagonal Series = 1, 7
    and 23 = 1 + 7 = 8
    Hence, {1, 7} are the required N number

For N = 3,
    Centered Hexagonal Series = 1, 7, 19
    and 33 = 1 + 7 + 19 = 27
    Hence, {1, 7, 19} are the required N number
.
.
and so on.

Por lo tanto, se puede decir que imprimir los primeros N términos de los Números Hexagonales Centrados dará los N números requeridos.
Además, el término N-ésimo de los Números Hexagonales Centrados es: 
3 * N * (N - 1) + 1

Algoritmo: 

  • Iterar un bucle con una variable de bucle (por ejemplo, i ) de 1 a N y para cada una de las iteraciones: 
    1. Encuentre el término N del número hexagonal centrado usando las fórmulas 3*i*(i-1) + 1 .
    2. Agregue el i -ésimo término en una array.

A continuación se muestra la implementación del enfoque anterior: 

C++

// C++ implementation to find the N
// numbers such that their
// sum is a perfect cube
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the N
// numbers such that their
// sum is a perfect cube
void findNumbers(int n)
{
    int i = 1;
    // Loop to find the Ith term
    // of the Centered Hexagonal number
    while (i <= n) {
        cout << (3 * i * (i - 1) + 1)
             << " ";
        i++;
    }
}
 
// Driver Code
int main()
{
    int n = 4;
 
    // Function Call
    findNumbers(n);
}

Java

// Java implementation to find the N
// numbers such that their
// sum is a perfect cube
class GFG
{
         
    // Function to find the N
    // numbers such that their
    // sum is a perfect cube
    static void findNumbers(int n)
    {
        int i = 1;
         
        // Loop to find the Ith term
        // of the Centered Hexagonal number
        while (i <= n)
        {
            System.out.print((3 * i * (i - 1) + 1) + " ");
            i++;
        }
    }
     
    // Driver Code
    public static void main (String[] args)
    {
        int n = 4;
     
        // Function Call
        findNumbers(n);
    }
}
 
// This code is contributed by AnkitRai01

C#

// C# implementation to find the N
// numbers such that their
// sum is a perfect cube
using System;
 
public class GFG
{
         
    // Function to find the N
    // numbers such that their
    // sum is a perfect cube
    static void findNumbers(int n)
    {
        int i = 1;
         
        // Loop to find the Ith term
        // of the Centered Hexagonal number
        while (i <= n)
        {
            Console.Write((3 * i * (i - 1) + 1) + " ");
            i++;
        }
    }
     
    // Driver Code
    public static void Main()
    {
        int n = 4;
     
        // Function Call
        findNumbers(n);
    }
}
 
// This code is contributed by AnkitRai01

Python3

# Python3 implementation to find the N
# numbers such that their
# sum is a perfect cube
 
# Function to find the N
# numbers such that their
# sum is a perfect cube
def findNumbers(n):
    i = 1
 
    # Loop to find the Ith term
    # of the Centered Hexagonal number
    while (i <= n):
        print((3 * i * (i - 1) + 1), end=" ")
        i += 1
 
# Driver Code
n = 4
 
# Function Call
findNumbers(n)
 
# This code is contributed by mohit kumar 29

Javascript

<script>
 
// Javascript implementation to find
// the N numbers such that their sum
// is a perfect cube
 
// Function to find the N
// numbers such that their
// sum is a perfect cube
function findNumbers(n)
{
    let i = 1;
     
    // Loop to find the Ith term
    // of the Centered Hexagonal number
    while (i <= n)
    {
        document.write((3 * i * (i - 1) +
                       1) + " ");
        i++;
    }
}
 
// Driver Code
let n = 4;
 
// Function Call
findNumbers(n);
 
// This code is contributed by Surbhi Tyagi.
 
</script>
Producción: 

1 7 19 37

 

Análisis de rendimiento: 

  • Complejidad de tiempo: como en el enfoque anterior, estamos encontrando todos los números hexagonales centrados en N, por lo que tomará O (N) .
  • Espacio auxiliar: como en el enfoque anterior, no se utiliza espacio adicional, por lo que el espacio auxiliar utilizado será O(1)
     

Publicación traducida automáticamente

Artículo escrito por spp____ 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 *