Dado un número entero N , la tarea es encontrar los números de N dígitos más pequeños y más grandes Sistema numérico hexadecimal .
Ejemplos:
Entrada: N = 4
Salida:
Mayor: FFFF
Menor: 1000Entrada: N = 2
Salida:
Mayor: FF
Menor: 10
Enfoque: Se pueden seguir los siguientes pasos para completar la respuesta requerida:
- Número más grande: para obtener el número más grande, cada dígito del número debe ser máximo. El dígito máximo en el sistema numérico hexadecimal es ‘ F ‘. Por lo tanto:
1 Digit Largest Number: 'F' 2 Digit Largest Number: 'FF' 3 Digit Largest Number: 'FFF' . . . N Digit Largest Number: 'FFF....(N) times'
- Número más pequeño: el número más pequeño en números hexadecimales es ‘ 0 ‘. La idea es que el primer dígito debe ser el mínimo posible distinto de 0, que es ‘1’, y los dígitos restantes deben ser 0 . Por lo tanto:
1 Digit Smallest Number: '1' 2 Digit Smallest Number: '10' 3 Digit Smallest Number: '100' . . . N Digit Smallest Number: '100....(N - 1) times'
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find the largest // and smallest N-digit numbers // in Hexa-Decimal Number System #include <bits/stdc++.h> using namespace std; // Function to return the largest // N-digit number in Hexa-Decimal // Number System string findLargest(int N) { // Append 'F' N times string largest = string(N, 'F'); return largest; } // Function to return the smallest // N-digit number in Hexa-Decimal // Number System string findSmallest(int N) { // Append '0' (N - 1) times to 1 string smallest = "1" + string((N - 1), '0'); return smallest; } // Function to print the largest and smallest // N-digit Hexa-Decimal number void print(int largest) { cout << "Largest: " << findLargest(largest) << endl; cout << "Smallest: " << findSmallest(largest) << endl; } // Driver code int main() { int N = 4; print(N); return 0; }
Java
// Java program to find the largest // and smallest N-digit numbers // in Hexa-Decimal Number System class GFG { // Function to return the largest // N-digit number in Hexa-Decimal // Number System static String findLargest(int N) { String largest = ""; // Append 'F' N times for (int i = 0; i < N ; i++) largest += 'F'; return largest; } // Function to return the smallest // N-digit number in Hexa-Decimal // Number System static String findSmallest(int N) { String smallest = "1" ; // Append '0' (N - 1) times to 1 for(int i = 0; i < N - 1; i++) smallest += '0'; return smallest; } // Function to print the largest and smallest // N-digit Hexa-Decimal number static void print(int largest) { System.out.println("Largest: " + findLargest(largest)) ; System.out.println("Smallest: " + findSmallest(largest)) ; } // Driver code public static void main (String[] args) { int N = 4; print(N); } } // This code is contributed by AnkitRai01
Python3
# Python3 program to find the largest # and smallest N-digit numbers # in Hexa-Decimal Number System # Function to return the largest # N-digit number in Hexa-Decimal # Number System def findLargest(N) : # Append 'F' N times largest = 'F'*N return largest; # Function to return the smallest # N-digit number in Hexa-Decimal # Number System def findSmallest(N) : # Append '0' (N - 1) times to 1 smallest = '1' + '0'*(N - 1) return smallest; # Function to print the largest and smallest # N-digit Hexa-Decimal number def printAns(largest) : print("Largest: " , findLargest(largest)); print("Smallest: " , findSmallest(largest)); # Driver code if __name__ == "__main__" : N = 4; printAns(N); # This code is contributed by AnkitRai01
C#
// C# program to find the largest // and smallest N-digit numbers // in Hexa-Decimal Number System using System; class GFG { // Function to return the largest // N-digit number in Hexa-Decimal // Number System static string findLargest(int N) { string largest = ""; // Append 'F' N times for (int i = 0; i < N ; i++) largest += 'F'; return largest; } // Function to return the smallest // N-digit number in Hexa-Decimal // Number System static string findSmallest(int N) { string smallest = "1" ; // Append '0' (N - 1) times to 1 for(int i = 0; i < N - 1; i++) smallest += '0'; return smallest; } // Function to print the largest and smallest // N-digit Hexa-Decimal number static void print(int largest) { Console.WriteLine("Largest: " + findLargest(largest)) ; Console.WriteLine("Smallest: " + findSmallest(largest)) ; } // Driver code public static void Main(string[] args) { int N = 4; print(N); } } // This code is contributed by AnkitRai01
Javascript
<script> // Javascipt implementation of the // above approach // Function to return the largest // N-digit number in Hexa-Decimal // Number System function findLargest(N) { // Append 'F' N times "a".repeat(10) var largest = "F".repeat(N); return largest; } // Function to return the smallest // N-digit number in Hexa-Decimal // Number System function findSmallest(N) { // Append '0' (N - 1) times to 1 var smallest = "1" + "0".repeat(N-1); return smallest; } // Function to print the largest and smallest // N-digit Hexa-Decimal number function print(largest) { document.write("Largest: " + findLargest(largest) + "<br>"); document.write("Smallest: " + findSmallest(largest) + "<br>"); } // Driver code var N = 4; print(N); // This code is contributed by Shivanisingh </script>
Producción:
Largest: FFFF Smallest: 1000
Complejidad de tiempo: O(N) donde N es la longitud de la string.
Espacio Auxiliar: O(1)