Related Articles

# Smallest and Largest Palindrome with N Digits

• Difficulty Level : Medium
• Last Updated : 25 Mar, 2021

Given a number N. The task is to find the smallest and largest palindromic number possible with N digits.
Examples:

```Input: N = 4
Output:
Smallest Palindrome = 1001
Largest Palindrome = 9999

Input: N = 5
Output:
Smallest Palindrome = 10001
Largest Palindrome = 99999```

Smallest N-digit Palindromic Number: On observing carefully, you will observe that for N = 1, the smallest palindromic number will be 0. And for any other value of N, the smallest palindrome will have the first and last digits as 1 and all of the digits in between as 0.

• Case 1 : If N = 1 then answer will be 0.
• Case 2 : If N != 1 then answer will be (10(N-1)) + 1.

Largest N-digit Palindromic Number: Similar to the above approach, you can see that the largest possible palindrome number with N-digits can be obtained by appending 9 for N times. Therefore, largest N digits palindrome number will be 10N – 1.
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach``#include ``using` `namespace` `std;` `// Function to print the smallest and largest``// palindrome with N digits``void` `printPalindrome(``int` `n)``{``    ``if` `(n == 1)``    ``{``        ``cout<<``"Smallest Palindrome: 0"``<

## Java

 `// Java implementation of the above approach``class` `GfG {` `    ``// Function to print the smallest and largest``    ``// palindrome with N digits``    ``static` `void` `printPalindrome(``int` `n)``    ``{``        ``if` `(n == ``1``)``        ``{``            ``System.out.println(``"Smallest Palindrome: 0"``);``            ``System.out.println(``"Largest Palindrome: 9"``);``        ``}``        ``else``        ``{``            ``System.out.println(``"Smallest Palindrome: "``                    ``+ (``int``)(Math.pow(``10``, n - ``1``)) + ``1``);``                    ` `            ``System.out.println(``"Largest Palindrome: "``                    ``+ ((``int``)(Math.pow(``10``,n)) - ``1``));``        ``}``    ``}``    ` `    ``// Driver Code``    ``public` `static` `void` `main(String[] args) {``        ``int` `n = ``4``;``        ``printPalindrome(n);``    ``}``}`

## Python3

 `# Python 3 implementation of the above approach` `from` `math ``import` `pow` `# Function to print the smallest and largest``# palindrome with N digits``def` `printPalindrome(n):``    ``if` `(n ``=``=` `1``):``        ``print``(``"Smallest Palindrome: 0"``)``        ``print``(``"Largest Palindrome: 9"``)``    ``else``:``        ``print``(``"Smallest Palindrome:"``, ``int``(``pow``(``10``, n ``-` `1``))``+``1``)``        ``print``(``"Largest Palindrome:"``, ``int``(``pow``(``10``,n))``-``1``)``    `  `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `4``    ``printPalindrome(n)` `# This code is contributed by``# Surendra_Gangwar`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GfG``{` `    ``// Function to print the smallest and largest``    ``// palindrome with N digits``    ``static` `void` `printPalindrome(``int` `n)``    ``{``        ``if` `(n == 1)``        ``{``            ``Console.WriteLine(``"Smallest Palindrome: 0"``);``            ``Console.WriteLine(``"Largest Palindrome: 9"``);``        ``}``        ``else``        ``{``            ``Console.WriteLine(``"Smallest Palindrome: "``                    ``+ (``int``)(Math.Pow(10, n - 1)) + 1);``                    ` `            ``Console.WriteLine(``"Largest Palindrome: "``                    ``+ ((``int``)(Math.Pow(10,n)) - 1));``        ``}``    ``}``    ` `    ``// Driver Code``    ``public` `static` `void` `Main(String[] args)``    ``{``        ``int` `n = 4;``        ``printPalindrome(n);``    ``}``}` `/* This code contributed by PrinciRaj1992 */`

## PHP

 ``

## Javascript

 `  ```
Output:

```Smallest Palindrome: 1001
Largest Palindrome: 9999```

Time Complexity: O(1)

Attention reader! All those who say programming isn’t for kids, just haven’t met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12.

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

My Personal Notes arrow_drop_up