Largest and Smallest N-digit Octal Numbers

30 Nov, 2021
Given an integer N, the task is to find the smallest and largest N-digit numbers in Octal Number System.
Examples: 
Input: N = 4 Output: Largest: 7777 Smallest: 1000
Input: N = 2 Output: Largest: 77 Smallest: 10 
Approach: The following steps can be followed to compute the required answer:  
Largest Number: To get the largest number, every digit of the number must be maximum. The maximum digit in the Octal number system is ‘7‘. Therefore:
1 Digit Largest Number: '7'
2 Digit Largest Number: '77'
3 Digit Largest Number: '777'
                .
                .
                .
N Digit Largest Number: '777....(N) times'
Smallest Number: The smallest number in Octal number is ‘0‘. The idea is that the first digit needs to be as minimum as possible other than 0 which is ‘1’ and the remaining digits needs 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++
Java
Python3
C#
Javascript
// C++ program to find the largest// and smallest N-digit numbers// in Octal Number System #include <bits/stdc++.h>using namespace std; // Function to return the largest// N-digit number in Octal// Number Systemstring findLargest(int N){    // Append '7' N times    string largest = string(N, '7');     return largest;} // Function to return the smallest// N-digit number in Octal// Number Systemstring 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 Octal numbervoid printLargestSmallest(int N){    cout << "Largest: "         << findLargest(N) << endl;    cout << "Smallest: "         << findSmallest(N) << endl;} // Driver codeint main(){    int N = 4;     // Function Call    printLargestSmallest(N);     return 0;}
// Java program to find the largest// and smallest N-digit numbers// in Octal Number Systemclass GFG{  // Function to return the largest// N-digit number in Octal// Number Systemstatic String findLargest(int N){    // Append '7' N times    String largest = strings(N, '7');      return largest;}  // Function to return the smallest// N-digit number in Octal// Number Systemstatic String findSmallest(int N){    // Append '0' (N - 1) times to 1    String smallest        = "1"          + strings((N - 1), '0');      return smallest;}  private static String strings(int N, char c) {    String temp ="";    for(int i= 0; i < N; i++) {        temp+=c;    }    return temp;} // Function to print the largest and// smallest N-digit Octal numberstatic void printLargestSmallest(int N){    System.out.print("Largest: "         + findLargest(N) +"\n");    System.out.print("Smallest: "         + findSmallest(N) +"\n");}  // Driver codepublic static void main(String[] args){    int N = 4;      // Function Call    printLargestSmallest(N);}} // This code is contributed by 29AjayKumar
# Python program to find the largest# and smallest N-digit numbers# in Octal Number System # Function to return the largest# N-digit number in Octal# Number Systemdef findLargest(N):     # Append '7' N times    largest = strings(N, '7');    return largest; # Function to return the smallest# N-digit number in Octal# Number Systemdef findSmallest(N):     # Append '0' (N - 1) times to 1    smallest = "1" + strings((N - 1), '0');    return smallest; def strings(N, c):    temp = "";    for i in range(N):        temp += c;    return temp; # Function to print the largest and# smallest N-digit Octal numberdef printLargestSmallest(N):    print("Largest: ",findLargest(N));    print("Smallest: ",findSmallest(N)); # Driver codeif __name__ == '__main__':    N = 4;     # Function Call    printLargestSmallest(N); # This code is contributed by sapnasingh4991
// C# program to find the largest// and smallest N-digit numbers// in Octal Number Systemusing System; class GFG{   // Function to return the largest// N-digit number in Octal// Number Systemstatic String findLargest(int N){    // Append '7' N times    String largest = strings(N, '7');       return largest;}   // Function to return the smallest// N-digit number in Octal// Number Systemstatic String findSmallest(int N){    // Append '0' (N - 1) times to 1    String smallest        = "1"          + strings((N - 1), '0');       return smallest;}   private static String strings(int N, char c) {    String temp ="";    for(int i= 0; i < N; i++) {        temp+=c;    }    return temp;}  // Function to print the largest and// smallest N-digit Octal numberstatic void printLargestSmallest(int N){    Console.Write("Largest: "         + findLargest(N) +"\n");    Console.Write("Smallest: "         + findSmallest(N) +"\n");}   // Driver codepublic static void Main(String[] args){    int N = 4;       // Function Call    printLargestSmallest(N);}} // This code is contributed by PrinciRaj1992
<script> // Javascript program to find the largest// and smallest N-digit numbers// in Octal Number System // Function to return the largest// N-digit number in Octal// Number Systemfunction findLargest(N){    // Append '7' N times    var largest = new Array(N+1).join( '7' );    return largest;} // Function to return the smallest// N-digit number in Octal// Number Systemfunction findSmallest(N){    // Append '0' (N - 1) times to 1    var smallest        = "1"          + new Array(N).join( '0' );     return smallest;} // Function to print the largest and// smallest N-digit Octal numberfunction printLargestSmallest(N){    document.write("Largest: "         + findLargest(N) + "<br>");     document.write( "Smallest: "         + findSmallest(N));} // Driver codevar N = 4;// Function CallprintLargestSmallest(N); </script>
Largest: 7777
Smallest: 1000
 
Time Complexity: O(N) where N is the length of the string.
Auxiliary Space: O(1) 
29AjayKumar
princiraj1992
sapnasingh4991
noob2000
nidhi_biet
rishavmahato348
number-digits
Numbers
Mathematical
Strings
Strings
Mathematical
Numbers
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.