# Program to find Nth term in the given Series

Given a number N. The task is to write a program to find the N-th term in the below series:

1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187…

**Examples**:

Input : 4 Output : 3 Input : 11 Output : 32

On observing carefully, you will find that the series is a mixture of 2 series:

- All the odd terms in this series form a geometric series.
- All the even terms form yet another geometric series.

The approach to solving the problem is quite simple. The odd positioned terms in the given series form a GP series with first term = 1 and common ration = 2. Similarly, the even positioned terms in the given series form a GP series with first term = 1 and common ration = 3.

Therefore first check whether the input number N is even or odd. If it is even, set N=N/2(since there are Two GP series running parallelly) and find the Nth term by using formula **a _{n} = a_{1}·r^{n-1}** with r=3.

Similarly, if N is odd, set N=(n/2)+1 and do the same as previous with r=2.

Below is the implementation of above approach:

## C++

`// C++ program to find Nth term ` `// in the given Series` `#include <iostream>` `#include <math.h>` `using` `namespace` `std;` `// Function to find the nth term ` `// in the given series` `void` `findNthTerm(` `int` `n)` `{` ` ` `// If input number is even` ` ` `if` `(n % 2 == 0) {` ` ` `n = n / 2;` ` ` `cout << ` `pow` `(3, n - 1) << endl;` ` ` `}` ` ` `// If input number is odd` ` ` `else` `{` ` ` `n = (n / 2) + 1;` ` ` `cout << ` `pow` `(2, n - 1) << endl;` ` ` `}` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `N = 4;` ` ` `findNthTerm(N);` ` ` `N = 11;` ` ` `findNthTerm(N);` ` ` `return` `0;` `}` |

## Java

`// Java program to find Nth term ` `// in the given Series` `import` `java.io.*;` `import` `java.util.*;` `import` `java.lang.*;` `class` `GFG` `{` `// Function to find the nth term ` `// in the given series` `static` `void` `findNthTerm(` `int` `n)` `{` ` ` `// If input number is even` ` ` `if` `(n % ` `2` `== ` `0` `)` ` ` `{` ` ` `n = n / ` `2` `;` ` ` `System.out.print(Math.pow(` `3` `, n - ` `1` `) + ` `"\n"` `);` ` ` `}` ` ` `// If input number is odd` ` ` `else` ` ` `{` ` ` `n = (n / ` `2` `) + ` `1` `;` ` ` `System.out.print(Math.pow(` `2` `, n - ` `1` `) + ` `"\n"` `);` ` ` `}` `}` `// Driver Code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `N = ` `4` `;` ` ` `findNthTerm(N);` ` ` `N = ` `11` `;` ` ` `findNthTerm(N);` `}` `}` `// This code is contributed ` `// by Akanksha Rai(Abby_akku)` |

## Python3

`# Python3 program to find Nth term ` `# in the given Series` `# Function to find the nth term ` `# in the given series` `def` `findNthTerm(n):` ` ` `# If input number is even` ` ` `if` `n ` `%` `2` `=` `=` `0` `:` ` ` `n ` `/` `/` `=` `2` ` ` `print` `(` `3` `*` `*` `(n ` `-` `1` `))` ` ` `# If input number is odd` ` ` `else` `:` ` ` `n ` `=` `(n ` `/` `/` `2` `) ` `+` `1` ` ` `print` `(` `2` `*` `*` `(n ` `-` `1` `))` `# Driver Code` `if` `__name__` `=` `=` `'__main__'` `:` ` ` `N ` `=` `4` ` ` `findNthTerm(N)` ` ` `N ` `=` `11` ` ` `findNthTerm(N)` `# This code is contributed` `# by vaibhav29498` |

## C#

`// C# program to find Nth term ` `// in the given Series` `using` `System;` `class` `GFG` `{` `// Function to find the nth` `// term in the given series` `static` `void` `findNthTerm(` `int` `n)` `{` ` ` `// If input number is even` ` ` `if` `(n % 2 == 0)` ` ` `{` ` ` `n = n / 2;` ` ` `Console.WriteLine(Math.Pow(3, n - 1));` ` ` `}` ` ` ` ` `// If input number is odd` ` ` `else` ` ` `{` ` ` `n = (n / 2) + 1;` ` ` `Console.WriteLine(Math.Pow(2, n - 1));` ` ` `}` `}` `// Driver Code` `public` `static` `void` `Main()` `{` ` ` `int` `N = 4;` ` ` `findNthTerm(N);` ` ` `N = 11;` ` ` `findNthTerm(N);` `}` `}` `// This code is contributed ` `// by chandan_jnu.` |

## PHP

`<?php` `// php program to find Nth term ` `// in the given Series` `// Function to find the nth term ` `// in the given series` `function` `findNthTerm(` `$n` `)` `{` ` ` `// If input number is even` ` ` `if` `(` `$n` `% 2 == 0) ` ` ` `{` ` ` `$n` `= ` `$n` `/ 2;` ` ` `echo` `pow(3, ` `$n` `- 1) . ` `"\n"` `;` ` ` `}` ` ` `// If input number is odd` ` ` `else` ` ` `{` ` ` `$n` `= (` `$n` `/ 2) + 1;` ` ` `echo` `pow(2, ` `intval` `(` `$n` `- 1)) . ` `"\n"` `;` ` ` `}` `}` `// Driver Code` `$N` `= 4;` `findNthTerm(` `$N` `);` `$N` `= 11;` `findNthTerm(` `$N` `);` `// This code is contributed ` `// by Akanksha Rai(Abby_akku)` `?>` |

## Javascript

`<script>` `// JavaScript program to find Nth term ` `// in the given Series ` ` ` `// Function to find the nth term ` ` ` `// in the given series ` ` ` `function` `findNthTerm(n) ` ` ` `{ ` ` ` `// If input number is even ` ` ` `if` `(n % 2 == 0) { ` ` ` `n = Math.floor(n / 2); ` ` ` `document.write(Math.pow(3, n - 1) + ` `"<br>"` `); ` ` ` `} ` ` ` `// If input number is odd ` ` ` `else` `{ ` ` ` `n = Math.floor(n / 2) + 1; ` ` ` `document.write(Math.pow(2, n - 1) + ` `"<br>"` `); ` ` ` `} ` ` ` `} ` ` ` ` ` `// Driver Code ` ` ` ` ` `let N = 4; ` ` ` `findNthTerm(N); ` ` ` ` ` `N = 11; ` ` ` `findNthTerm(N); ` `// This code is contributed by Mayank Tyagi` `</script>` |

**Output:**

3 32

* Time Complexity: *O(log

_{2}n), where n represents the given integer.

*O(1), no extra space is required, so it is a constant.*

**Auxiliary Space:**