Given an integer
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,
Below is the implementation of above approach:
// 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 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 |
# 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# 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 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 ?> |
<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.