📌  相关文章
📜  系列2、6、12、20、30…的前N个项的总和。

📅  最后修改于: 2021-05-04 21:39:35             🧑  作者: Mango

给定数字N,任务是找到以下系列的前N个项的总和:

例子:

Input: N = 2
Output: 8
2 + 6
= 8

Input: N = 4 
Output: 40
2 + 6+ 12 + 20
= 40

方法:让第n个项用tn表示。
可以通过如下拆分每个术语来轻松解决此问题:

Sn = 2 + 6 + 12 + 20 + 30......
Sn = (1+1^2) + (2+2^2) + (3+3^2) + (4+4^2) +......
Sn = (1 + 2 + 3 + 4 + ...unto n terms) + (1^2 + 2^2 + 3^2 + 4^2 + ...upto n terms)

我们观察到Sn可以分解为两个系列的总和。
因此,前n个项的总和如下:

Sn = (1 + 2 + 3 + 4 + ...unto n terms) + (1^2 + 2^2 + 3^2 + 4^2 + ...upto n terms)
Sn = n*(n + 1)/2 + n*(n + 1)*(2*n + 1)/6

下面是上述方法的实现:

C++
// C++ program to find sum of first n terms
#include 
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()
{
    // number of terms to be
    // included in the sum
    int n = 3;
 
    // find the Sn
    cout << "Sum = " << calculateSum(n);
 
    return 0;
}


Java
// Java program to find sum of first n terms
 
import java.util.*;
import java.lang.*;
import java.io.*;
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[])
{
    // number of terms to be
    // included in the sum
    int n = 3;
   
    // find the Sn
    System.out.print("Sum = " + calculateSum(n));
   
}
}


Python3
# Python program 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
 
# number of terms to be
# included in the sum
n = 3
 
# find the Sum
print("Sum = ", calculateSum(n))
 
# This code is contributed by
# Sanjit_Prasad


C#
// C# program 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()
{
    // number of terms to be
    // included in the sum
    int n = 3;
 
    // find the Sn
    Console.WriteLine("Sum = " +
                       calculateSum(n));
}
}
 
// This code is contributed by inder_verma


PHP


Javascript


输出:
Sum = 20