Open In App

Largest and Smallest N-digit Hexadecimal Numbers

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given an integer N, the task is to find the smallest and largest N-digit numbers Hexa-Decimal Number System.

Examples: 

Input: N = 4 
Output: 
Largest: FFFF 
Smallest: 1000

Input: N = 2 
Output: 
Largest: FF 
Smallest: 10 

Approach: The following steps can be followed to complete the required answer: 

  • Largest Number: To get the largest number, every digit of the number must be maximum. The maximum digit in the Hexa-Decimal number system is ‘F‘. Therefore:
1 Digit Largest Number: 'F'
2 Digit Largest Number: 'FF'
3 Digit Largest Number: 'FFF'
                .
                .
                .
N Digit Largest Number: 'FFF....(N) times'
  • Smallest Number: The smallest number in hexadecimal numbers is ‘0‘. The idea is that the first digit needs to be as minimal as possible other than 0 which is ‘1’ and the remaining digits need to be 0. Therefore:
1 Digit Smallest Number: '1'
2 Digit Smallest Number: '10'
3 Digit Smallest Number: '100'
                .
                .
                .
N Digit Smallest Number: '100....(N - 1) times'

Below is the implementation of the above approach: 

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>
// Javascript 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>


Output: 

Largest: FFFF
Smallest: 1000

 

Time Complexity: O(N) where N is the length of the string.

Auxiliary Space: O(1)
 



Last Updated : 31 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads