Find the Nth term of the series 1 + 2 + 6 + 15 + 31 + 56 + …

Given an integer N       . The task is to write a program to find the N-th term of the given series: 
 

1 + 2 + 6 + 15 + 31 + 56 + ... 

Examples
 

Input : N = 8
Output : 141

Input : N = 20
Output : 2471

Approach: 
The given series is: 
 

1, 2, 6, 15, 31, 56, 92, 141, ...

First consecutive difference
 

1 4 9 16 25 36 49 .......

Second consecutive difference
 

3 5 7 9 11 13......

As the second consecutive difference is in AP, the nth term (tn) of the series is of the form,
A(n – 1)(n – 2)(n – 3) + B(n – 1)(n – 2) + C(n – 1) + D
So, tn = A(n – 1)(n – 2)(n – 3) + B(n – 1)(n – 2) + C(n – 1) + D
Now, 
t1 = D = 1
t2 = C (2 – 1) + D = 2 
t3 = 2B + 2C + D = 6
t4 = CA + 6B + 3C + D = 15
On solving the above four equations we get => A = 1/3, B = 3/2, C = 1, D = 1. On substituting these values tn and after simplifying we get,
t_{n} = \frac{2n^{3}-3n^{2}+n+6}{6}
Below is the implementation of above approach: 
 

C++




// C++ program to find Nth
// term of the series:
// 1 + 2 + 6 + 15 + 31 + 56 + ...
#include<iostream>
#include<math.h>
using namespace std;
 
// calculate Nth term of given series
int Nth_Term(int n)
{
    return (2 * pow(n, 3) - 3 *
                pow(n, 2) + n + 6) / 6;
}
 
// Driver code
int main()
{
    int N = 8;
    cout << Nth_Term(N);
}


Java




// Java program to find Nth
// term of the series:
// 1 + 2 + 6 + 15 + 31 + 56 + ...
import java.util.*;
import java.lang.*;
 
class GFG
{
// calculate Nth term of given series
static double Nth_Term(int n)
{
    return (2 * Math.pow(n, 3) - 3 *
                Math.pow(n, 2) + n + 6) / 6;
}
 
// Driver code
static public void main (String args[])
{
    int N = 8;
    System.out.println(Nth_Term(N));
}
}
 
// This code is contributed
// by Akanksha Rai


Python3




# Python program to find Nth term of the series:
# 1 + 2 + 6 + 15 + 31 + 56 + ...
 
# calculate Nth term of given series
def Nth_Term(n):
    return (2 * pow(n, 3) - 3 * pow(n, 2) + n + 6) // 6
 
# Driver code
N = 8
print(Nth_Term(N))


C#




// C# program to find Nth
// term of the series:
// 1 + 2 + 6 + 15 + 31 + 56 + ...
using System;
 
class GFG
{
// calculate Nth term of given series
static double Nth_Term(int n)
{
    return (2 * Math.Pow(n, 3) - 3 *
                Math.Pow(n, 2) + n + 6) / 6;
}
 
// Driver code
static public void Main ()
{
    int N = 8;
    Console.WriteLine(Nth_Term(N));
}
}
 
// This code is contributed
// by Sach_Code


PHP




<?php
// PHP program to find Nth
// term of the series:
// 1 + 2 + 6 + 15 + 31 + 56 + ..
 
// calculate Nth term of given series
function Nth_Term($n)
{
    return (2 * pow($n, 3) - 3 *
                pow($n, 2) + $n + 6) / 6;
}
 
// Driver code
$N = 8;
 
echo Nth_Term($N);
 
// This code is contributed by
// Shashank_Sharma
?>


Javascript




<script>
// js program to find Nth
// term of the series:
// 1 + 2 + 6 + 15 + 31 + 56 + ..
 
// calculate Nth term of given series
function Nth_Term(n)
{
    return (2 * Math.pow(n, 3) - 3 *
                Math.pow(n, 2) + n + 6) / 6;
}
 
// Driver code
let N = 8;
 
document.write(Nth_Term(N));
 
// This code is contributed
// by pulamolu mohan pavan cse
</script>


Output: 

141

 

Time Complexity: O(1), since there is no loop or recursion.

Auxiliary Space: O(1), since no extra space has been taken.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Check Also
Close
Back to top button