# Smallest and Largest Palindrome with N Digits

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

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

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

 ` `

Output:

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

Time Complexity: O(1)

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

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.