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: 1000Input: 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++
// 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
// Java program to find the largest// and smallest N-digit numbers// in Octal Number Systemimport java.util.*;import java.io.*;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){ 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 |
Python3
# 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#
// 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 |
Javascript
<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)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
