Suma de los primeros N Números Pronicos

Dado un número N , la tarea es encontrar la suma de los primeros N Números Pronicos .

Los números que se pueden ordenar para formar un rectángulo se llaman números rectangulares (también conocidos como números pronicos). Los primeros números rectangulares son:
0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342, 380, 420, 462 . . . .

Ejemplos:

Entrada: N = 4
Salida: 20
Explicación:
0, 2, 6, 12 son los primeros 4 números pronicos.

Entrada: N = 3
Salida: 8

Acercarse:

    Sea T N el término N-ésimo . Este problema se puede resolver fácilmente dividiendo cada término de la siguiente manera:

    S_N = 0 + 2 + 6 + 12 + 20 + 30......
    S_N = (0 * 1) + (1 * 2) + (2 * 3) + (3 * 4) + (4 * 5) + ......
    S_N = (0 * (0 + 1) + (1 * (1 + 1)) + (2 * (2 + 1)) + (3 * (3 + 1)) + (4 * (4 + 1)) + ......
    S_N = (0^2 + 0) + (1^2 + 1) + (2^2 + 2) + (3^2 + 3) + (4^2 + 4) +......
    S_N = (0 + 1 + 2 + 3 + 4 + ...T_N) + (0^2 + 1^2 + 2^2 + 3^2 + 4^2 + ... T_N)

    Por lo tanto:

    S N = Suma de N Números Pronicos
    S_N = [N*\frac{(N - 1)}{2}] + [N*\frac{(N - 1)*(2*N - 1)}{6}]

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

    C++

    // C++ implementation to find 
    // sum of first N terms
    #include <bits/stdc++.h>
    using namespace std;
      
    // Function to calculate the sum
    int calculateSum(int N)
    {
      
        return N * (N - 1) / 2
               + N * (N - 1)
                     * (2 * N - 1) / 6;
    }
      
    // Driver code
    int main()
    {
        int N = 3;
      
        cout << calculateSum(N);
      
        return 0;
    }

    Java

    // Java implementation implementation to find 
    // sum of first N terms 
    class GFG{ 
          
    // Function to calculate the sum 
    static int calculateSum(int N) 
          
        return N * (N - 1) / 2 + N * (N - 1) *
               (2 * N - 1) / 6
          
    // Driver code 
    public static void main (String[] args) 
        int N = 3
          
        System.out.println(calculateSum(N)); 
      
    // This code is contributed by Pratima Pandey 

    Python3

    # Python3 implementation to find 
    # sum of first N terms
      
    # Function to calculate the sum
    def calculateSum(N):
      
        return (N * (N - 1) // 2 + 
                N * (N - 1) * (2 * 
                     N - 1) // 6);
      
    # Driver code
    N = 3;
    print(calculateSum(N));
      
    # This code is contributed by Code_Mech

    C#

    // C# implementation implementation to find 
    // sum of first N terms 
    using System;
    class GFG{ 
          
    // Function to calculate the sum 
    static int calculateSum(int N) 
          
        return N * (N - 1) / 2 + N * (N - 1) *
                            (2 * N - 1) / 6; 
          
    // Driver code 
    public static void Main() 
        int N = 3; 
          
        Console.Write(calculateSum(N)); 
      
    // This code is contributed by Code_Mech
    Producción:

    8
    

    Complejidad temporal: 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 *