Dado un número N. La tarea es encontrar el número palindrómico más pequeño y más grande posible con N dígitos.
Ejemplos:
Input: N = 4 Output: Smallest Palindrome = 1001 Largest Palindrome = 9999 Input: N = 5 Output: Smallest Palindrome = 10001 Largest Palindrome = 99999
Número palindrómico de N dígitos más pequeño : Al observar detenidamente, observará que para N = 1, el número palindrómico más pequeño será 0. Y para cualquier otro valor de N, el palíndromo más pequeño tendrá el primer y último dígito como 1 y todos de los dígitos intermedios como 0.
- Caso 1: si N = 1, la respuesta será 0.
- Caso 2: si N != 1, la respuesta será (10 (N-1) ) + 1.
Número palindrómico de N dígitos más grande : similar al enfoque anterior, puede ver que el número palíndromo más grande posible con N dígitos se puede obtener agregando 9 por N veces. Por lo tanto, el número palíndromo de N dígitos más grande será 10 N – 1 .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the above approach #include <bits/stdc++.h> 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"<<endl; cout<<"Largest Palindrome: 9"; } else { cout<<"Smallest Palindrome: "<<pow(10, n - 1) + 1; cout<<"\nLargest Palindrome: "<<pow(10,n) - 1; } } // Driver Code int main() { int n = 4; printPalindrome(n); return 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
<?php // PHP implementation of the above approach // Function to print the smallest and largest // palindrome with N digits function printPalindrome($n) { if ($n == 1) { echo "Smallest Palindrome: 0\n"; echo "Largest Palindrome: 9"; } else { echo "Smallest Palindrome: ", pow(10, $n - 1) + 1; echo "\nLargest Palindrome: ", pow(10, $n) - 1; } } // Driver Code $n = 4; printPalindrome($n); // This code is contributed by ihritik ?>
Javascript
<script> // Javascript implementation of the above approach // Function to print the smallest and largest // palindrome with N digits function printPalindrome(n) { if (n == 1) { document.write("Smallest Palindrome: 0<br>"); document.write("Largest Palindrome: 9"); } else { document.write("Smallest Palindrome: " + (parseInt(Math.pow(10, n - 1)) + 1)); document.write("<br>Largest Palindrome: " + parseInt(Math.pow(10, n) - 1)); } } // Driver Code var n = 4; printPalindrome(n); // This code is contributed by rrrtnx. </script>
Smallest Palindrome: 1001 Largest Palindrome: 9999
Complejidad de tiempo: O (logn)
Espacio Auxiliar: O(1)