# Find Nth term of series 1, 4, 15, 72, 420…

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
For N = 3, we know that the factorial of 3 is 6
Nth term = 6*(3+2)/2
= 15

Input: 6
Output: 2880
For N = 6, we know that the factorial of 6 is 720
Nth term = 620*(6+2)/2
= 2880
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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   ` `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

 ` `

Output:

```2880
```

Another approach :(Using recursion)

## C++

 `// CPP program to find N-th term of the series: ` `// 1, 4, 15, 72, 420…  ` `// Using recursion ` `#include ` `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

 ` `

Output:

```2880
```

Time complexity: O(N)

Note: Above code wouldn’t not work for large values of N. To find the values for large N, use the concept of Factorial for large numbers.

My Personal Notes arrow_drop_up If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.