Given a number N. The task is to write a program to find the Nth term in the below series:
1, 4, 15, 72, 420…
Examples:
Input: 3
Output: 15
Explanation: For N = 3, we know that the factorial of 3 is 6 Nth term = 6*(3+2)/2Input: 6
Output: 2880
Explanation: For N = 6, we know that the factorial of 6 is 720 Nth term = 620*(6+2)/2 = 2880
The idea is to first find the factorial of the given number N, that is N!. Now the N-th term in the above series will be:
N-th term = N! * (N + 2)/2
Below is the implementation of the above approach:
C++
// CPP program to find N-th term of the series: // 1, 4, 15, 72, 420… #include <iostream> using namespace std; // Function to find factorial of N int factorial( int N) { int fact = 1; for ( int i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series int nthTerm( int N) { return (factorial(N) * (N + 2) / 2); } // Driver Function int main() { int N = 6; cout << nthTerm(N); return 0; } |
Java
// Java program to find N-th // term of the series: // 1, 4, 15, 72, 420 import java.util.*; import java.lang.*; import java.io.*; class GFG { // Function to find factorial of N static int factorial( int N) { int fact = 1 ; for ( int i = 1 ; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series static int nthTerm( int N) { return (factorial(N) * (N + 2 ) / 2 ); } // Driver Code public static void main(String args[]) { int N = 6 ; System.out.println(nthTerm(N)); } } // This code is contributed by Subhadeep |
Python3
# Python 3 program to find # N-th term of the series: # 1, 4, 15, 72, 420… # Function for finding # factorial of N def factorial(N) : fact = 1 for i in range ( 1 , N + 1 ) : fact = fact * i # return factorial of N return fact # Function for calculating # Nth term of series def nthTerm(N) : # return nth term return (factorial(N) * (N + 2 ) / / 2 ) # Driver code if __name__ = = "__main__" : N = 6 # Function Calling print (nthTerm(N)) # This code is contributed # by ANKITRAI1 |
C#
// C# program to find N-th // term of the series: // 1, 4, 15, 72, 420 using System; class GFG { // Function to find factorial of N static int factorial( int N) { int fact = 1; for ( int i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series static int nthTerm( int N) { return (factorial(N) * (N + 2) / 2); } // Driver Code public static void Main() { int N = 6; Console.Write(nthTerm(N)); } } // This code is contributed by ChitraNayal |
PHP
<?php // PHP program to find // N-th term of the series: // 1, 4, 15, 72, 420… // Function for finding // factorial of N function factorial( $N ) { $fact = 1; for ( $i = 1; $i <= $N ; $i ++) $fact = $fact * $i ; // return factorial of N return $fact ; } // Function for calculating // Nth term of series function nthTerm( $N ) { // return nth term return (factorial( $N ) * ( $N + 2) / 2); } // Driver code $N = 6; // Function Calling echo nthTerm( $N ); // This code is contributed // by mits ?> |
Javascript
<script> // JavaScript program to find N-th term of the series: // 1, 4, 15, 72, 420… // Function to find factorial of N function factorial( N) { let fact = 1; for (let i = 1; i <= N; i++) fact = fact * i; // return factorial of N return fact; } // calculate Nth term of series function nthTerm(N) { return (factorial(N) * (N + 2) / 2); } // Driver code let N = 6; document.write( nthTerm(N) ); // This code contributed by aashish1995 </script> |
2880
Time Complexity: O(n)
Auxiliary Space: O(1)
Another approach :(Using recursion)
C++
// CPP program to find N-th term of the series: // 1, 4, 15, 72, 420… // Using recursion #include <iostream> using namespace std; // Function to find factorial of N // with recursion int factorial( int N) { // base condition if ( N == 0 || N == 1 ) return 1; // use recursion return N * factorial( N - 1 ); } // calculate Nth term of series int nthTerm( int N) { return (factorial(N) * (N + 2) / 2); } // Driver Function int main() { int N = 6; cout << nthTerm(N); return 0; } |
Java
// Java program to find N-th // term of the series: // 1, 4, 15, 72, 420 import java.util.*; import java.lang.*; import java.io.*; class GFG { // Function to find factorial of N static int factorial( int N) { // base condition if ( N == 0 || N == 1 ) return 1 ; // use recursion return N * factorial( N - 1 ); } // calculate Nth term of series static int nthTerm( int N) { return (factorial(N) * (N + 2 ) / 2 ); } // Driver Code public static void main(String args[]) { int N = 6 ; System.out.println(nthTerm(N)); } } |
Python3
# Python3 program to find # N-th term of the series: # 1, 4, 15, 72, 420… # Using recursion # Function to find factorial # of N with recursion def factorial(N): # base condition if N = = 0 or N = = 1 : return 1 # use recursion return N * factorial(N - 1 ) def nthTerm(N): # calculate Nth term of series return (factorial(N) * (N + 2 ) / / 2 ) # Driver code N = 6 print (nthTerm(N)) # This code is contributed # by Shrikant13 |
C#
// C# program to find N-th // term of the series: // 1, 4, 15, 72, 420 using System; class GFG { // Function to find factorial of N static int factorial( int N) { // base condition if ( N == 0 || N == 1 ) return 1; // use recursion return N * factorial( N - 1 ); } // calculate Nth term of series static int nthTerm( int N) { return (factorial(N) * (N + 2) / 2); } // Driver Code public static void Main() { int N = 6; Console.Write(nthTerm(N)); } } // This code is contributed by ChitraNayal |
PHP
<?php // PHP program to find // N-th term of the series: // 1, 4, 15, 72, 420… // Function to find factorial // of N with recursion function factorial( $N ) { // base condition if ( $N == 0 or $N == 1) return 1; // use recursion return $N * factorial( $N - 1); } // calculate Nth term of series function nthTerm( $N ) { return (factorial( $N ) * ( $N + 2) / 2); } // Driver Code $N = 6; echo nthTerm( $N ); // This code is contributed // by Shashank ?> |
Javascript
<script> // Javascript program to find N-th // term of the series: // 1, 4, 15, 72, 420 // Function to find factorial of N function factorial(N) { // Base condition if (N == 0 || N == 1) return 1; // Use recursion return N * factorial(N - 1); } // Calculate Nth term of series function nthTerm(N) { return (factorial(N) * (N + 2) / 2); } // Driver Code let N = 6; document.write(nthTerm(N)); // This code is contributed by avanitrachhadiya2155 </script> |
2880
Time complexity: O(N)
Auxiliary Space: O(N), for recursion call stack.
Note: Above code wouldn’t work for large values of N. To find the values for large N, use the concept of Factorial for large numbers.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!