给定数字N,任务是找到以下系列的前N个项的总和:
Sn = 2 + 6 + 12 + 20 + 30 … upto n terms
例子:
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