Program to find N-th term of series 3, 5, 33, 35, 53….

Given a series of numbers composed only of digits 3 and 5. The first few numbers in the series are:

3, 5, 33, 35, 53, 55, …..

Given a number N. The task is to find the n-th number in the given series.**Examples**:

Input : N = 2 Output : 5 Input : N = 5 Output : 53

The idea is based on the fact that the value of the last digit alternates in the series. For example, if the last digit of i^{th} number is 3, then the last digit of (i-1)^{th} and (i+1)^{th} numbers must be 5.

Create an array of size (n+1) and push 3 and 5(These two are always first two elements of series) to it. For more elements check,

1) If i is odd, arr[i] = arr[i/2]*10 + 3; 2) If it is even, arr[i] = arr[(i/2)-1]*10 + 5; At last return arr[n].

Below is the implementation of the above idea:

## C++

`// C++ program to find n-th number in a series` `// made of digits 3 and 5` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find n-th number in series` `// made of 3 and 5` `int` `printNthElement(` `int` `n)` `{` ` ` `// create an array of size (n+1)` ` ` `int` `arr[n + 1];` ` ` `arr[1] = 3;` ` ` `arr[2] = 5;` ` ` `for` `(` `int` `i = 3; i <= n; i++) {` ` ` `// If i is odd` ` ` `if` `(i % 2 != 0)` ` ` `arr[i] = arr[i / 2] * 10 + 3;` ` ` `else` ` ` `arr[i] = arr[(i / 2) - 1] * 10 + 5;` ` ` `}` ` ` `return` `arr[n];` `}` `// Driver code` `int` `main()` `{` ` ` `int` `n = 6;` ` ` `cout << printNthElement(n);` ` ` `return` `0;` `}` |

## Java

`// Java program to find n-th number in a series` `// made of digits 3 and 5` `class` `FindNth {` ` ` `// Function to find n-th number in series` ` ` `// made of 3 and 5` ` ` `static` `int` `printNthElement(` `int` `n)` ` ` `{` ` ` `// create an array of size (n+1)` ` ` `int` `arr[] = ` `new` `int` `[n + ` `1` `];` ` ` `arr[` `1` `] = ` `3` `;` ` ` `arr[` `2` `] = ` `5` `;` ` ` `for` `(` `int` `i = ` `3` `; i <= n; i++) {` ` ` `// If i is odd` ` ` `if` `(i % ` `2` `!= ` `0` `)` ` ` `arr[i] = arr[i / ` `2` `] * ` `10` `+ ` `3` `;` ` ` `else` ` ` `arr[i] = arr[(i / ` `2` `) - ` `1` `] * ` `10` `+ ` `5` `;` ` ` `}` ` ` `return` `arr[n];` ` ` `}` ` ` `// main function` ` ` `public` `static` `void` `main(String[] args)` ` ` `{` ` ` `int` `n = ` `6` `;` ` ` `System.out.println(printNthElement(n));` ` ` `}` `}` |

## Python3

`# Python3 program to find n-th number ` `# in a series made of digits 3 and 5` ` ` `# Return n-th number in series made ` `# of 3 and 5` `def` `printNthElement(n) :` ` ` ` ` `# create an array of size (n + 1)` ` ` `arr ` `=` `[` `0` `] ` `*` `(n ` `+` `1` `);` ` ` `arr[` `1` `] ` `=` `3` ` ` `arr[` `2` `] ` `=` `5` ` ` ` ` `for` `i ` `in` `range` `(` `3` `, n ` `+` `1` `) :` ` ` `# If i is odd` ` ` `if` `(i ` `%` `2` `!` `=` `0` `) :` ` ` `arr[i] ` `=` `arr[i ` `/` `/` `2` `] ` `*` `10` `+` `3` ` ` `else` `:` ` ` `arr[i] ` `=` `arr[(i ` `/` `/` `2` `) ` `-` `1` `] ` `*` `10` `+` `5` ` ` ` ` `return` `arr[n]` ` ` `# Driver code` `n ` `=` `6` `print` `(printNthElement(n))` |

## C#

`// C# program to find n-th number` `// in a series made of digits 3 and 5` `using` `System;` `class` `GFG` `{` `// Function to find n-th number` `// in series made of 3 and 5` `static` `int` `printNthElement(` `int` `n)` `{` ` ` `// create an array of size (n+1)` ` ` `int` `[] arr = ` `new` `int` `[n + 1];` ` ` `arr[1] = 3;` ` ` `arr[2] = 5;` ` ` `for` `(` `int` `i = 3; i <= n; i++)` ` ` `{` ` ` `// If i is odd` ` ` `if` `(i % 2 != 0)` ` ` `arr[i] = arr[i / 2] * 10 + 3;` ` ` `else` ` ` `arr[i] = arr[(i / 2) - 1] * 10 + 5;` ` ` `}` ` ` `return` `arr[n];` `}` `// Driver Code` `static` `void` `Main()` `{` ` ` `int` `n = 6;` ` ` `Console.WriteLine(printNthElement(n));` `}` `}` `// This code is contributed by ANKITRAI1` |

## PHP

`<?php` `// PHP program to find n-th` `// number in a series made` `// of digits 3 and 5` `// Function to find n-th number` `// in series made of 3 and 5` `function` `printNthElement(` `$n` `)` `{` ` ` `// create an array of size (n+1)` ` ` `$arr` `= ` `array_fill` `(0, (` `$n` `+ 1), NULL);` ` ` `$arr` `[1] = 3;` ` ` `$arr` `[2] = 5;` ` ` `for` `(` `$i` `= 3; ` `$i` `<= ` `$n` `; ` `$i` `++)` ` ` `{` ` ` `// If i is odd` ` ` `if` `(` `$i` `% 2 != 0)` ` ` `$arr` `[` `$i` `] = ` `$arr` `[` `$i` `/ 2] * 10 + 3;` ` ` `else` ` ` `$arr` `[` `$i` `] = ` `$arr` `[(` `$i` `/ 2) -` ` ` `1] * 10 + 5;` ` ` `}` ` ` `return` `$arr` `[` `$n` `];` `}` `// Driver code` `$n` `= 6;` `echo` `printNthElement(` `$n` `);` `// This code is contributed` `// by ChitraNayal` `?>` |

## Javascript

`<script>` `// Javascript program to find n-th number in a series` `// made of digits 3 and 5` ` ` `// Function to find n-th number in series` ` ` `// made of 3 and 5` ` ` `function` `prletNthElement( n) {` ` ` `// create an array of size (n+1)` ` ` `let arr = Array(n + 1).fill(0);` ` ` `arr[1] = 3;` ` ` `arr[2] = 5;` ` ` `for` `( i = 3; i <= n; i++) {` ` ` `// If i is odd` ` ` `if` `(i % 2 != 0)` ` ` `arr[i] = arr[i / 2] * 10 + 3;` ` ` `else` ` ` `arr[i] = arr[(i / 2) - 1] * 10 + 5;` ` ` `}` ` ` `return` `arr[n];` ` ` `}` ` ` `// main function` ` ` ` ` `let n = 6;` ` ` `document.write(prletNthElement(n));` `// This code contributed by Princi Singh` `</script>` |

**Output:**

55

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****.**