Skip to content
Related Articles

Related Articles

Improve Article

Program to find Nth term in the given Series

  • Last Updated : 25 Feb, 2021

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: 
 

  1. All the odd terms in this series form a geometric series.
  2. 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 parallely) and find the Nth term by using formula an = a1·rn-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

 

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :