TCS Coding Practice Question | Reverse a Number
Given a number, the task is to reverse this number using Command Line Arguments. Examples:
Input: num = 12345
Output: 54321
Input: num = 786
Output: 687
Approach:
- Since the number is entered as Command line Argument, there is no need for a dedicated input line
- Extract the input number from the command line argument
- This extracted number will be in String type.
- Convert this number into integer type and store it in a variable, say num
- Initialize a variable, say rev_num, to store the reverse of this number with 0
- Now loop through the number num till it becomes 0, i.e. (num > 0)
- In each iteration,
- Multiply rev_num by 10 and add remainder of num to it. This will store the last digit of num in rev_num
- Divide num by 10 to remove the last digit from it.
- After the loop has ended, rev_num has the reverse of num.
Program:
C++
// C++ program to reverse a number // using command line arguments #include <iostream> #include <string> #include <sstream> using namespace std; // Function to reverse the number int reverseNumber( int num) { // Variable to store the // resultant reverse number int rev_num = 0; // Traverse through the number digit by digit while (num > 0) { // Append the last digit of num // as the next digit of rev_num rev_num = rev_num * 10 + num % 10; // Remove the last digit from the num num = num / 10; } // Return the reversed number return rev_num; } // Driver code int main( int argc, char * argv[]) { int num; // Check if the length of args array is 1 if (argc == 1) cout << "No command line arguments found.\n" ; else { // Get the command line argument and // Convert it from string type to integer type // using function "atoi( argument)" num = atoi (argv[1]); // Reverse the number and print it cout << reverseNumber(num) << endl; } return 0; } |
C
// C program to reverse a number // using command line arguments #include <stdio.h> #include <stdlib.h> /* atoi */ // Function to reverse the number int reverseNumber( int num) { // Variable to store the // resultant reverse number int rev_num = 0; // Traverse through the number digit by digit while (num > 0) { // Append the last digit of num // as the next digit of rev_num rev_num = rev_num * 10 + num % 10; // Remove the last digit from the num num = num / 10; } // Return the reversed number return rev_num; } // Driver code int main( int argc, char * argv[]) { int num; // Check if the length of args array is 1 if (argc == 1) printf ( "No command line arguments found.\n" ); else { // Get the command line argument and // Convert it from string type to integer type // using function "atoi( argument)" num = atoi (argv[1]); // Reverse the number and print it printf ( "%d\n" , reverseNumber(num)); } return 0; } |
Java
// Java program to reverse a number // using command line arguments class GFG { // Function to reverse the number public static int reverseNumber( int num) { // Variable to store the // resultant reverse number int rev_num = 0 ; // Traverse through the number digit by digit while (num > 0 ) { // Append the last digit of num // as the next digit of rev_num rev_num = rev_num * 10 + num % 10 ; // Remove the last digit from the num num = num / 10 ; } // Return the reversed number return rev_num; } // Driver code public static void main(String[] args) { // Check if length of args array is // greater than 0 if (args.length > 0 ) { // Get the command line argument and // Convert it from string type to integer type int num = Integer.parseInt(args[ 0 ]); // Reverse the number and print it System.out.println(reverseNumber(num)); } else System.out.println( "No command line " + "arguments found." ); } } |
Python
import sys # Function to reverse the number def reverseNumber(num): # Variable to store the resultant reverse number rev_num = 0 # Traverse through the number digit by digit while num > 0 : # Append the last digit of num as the next digit of rev_num rev_num = rev_num * 10 + num % 10 # Remove the last digit from the num num = num / / 10 # Return the reversed number return rev_num # Driver code if __name__ = = "__main__" : if len (sys.argv) = = 1 : print ( "No command line arguments found." ) else : # Get the command line argument and convert it from string to integer num = int (sys.argv[ 1 ]) # Reverse the number and print it print (reverseNumber(num)) |
Output:
- In C:
- In Java :
- In Python
- In C++: