Open In App

TCS Coding Practice Question | Factorial of a Number

Improve
Improve
Like Article
Like
Save
Share
Report

Given a number, the task is to find the Factorial of this number using Command Line Arguments. Factorial of a non-negative integer is the multiplication of all integers smaller than or equal to n.  

Examples:

Input: 3
Output: 6
1 * 2 * 3 = 6

Input: 6
Output: 720
1 * 2 * 3 * 4 * 5 * 6 = 720

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
  • Find the reverse of this number and store in a variable, say rev_num
  • Check if this rev_num and num are same or not.
  • If they are not same, the number is not Palindrome
  • If they are same, the number is a Palindrome

Program: 

C




// C program to find factorial of a number
// using command line arguments
 
#include <stdio.h>
#include <stdlib.h> /* atoi */
 
// Function to find factorial of given number
unsigned int factorial(unsigned int n)
{
    int res = 1, i;
    for (i = 2; i <= n; i++)
        res *= i;
    return res;
}
 
// Driver code
int main(int argc, char* argv[])
{
 
    int num, res = 0;
 
    // 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]);
 
        // Find the factorial
        printf("%d\n", factorial(num));
    }
    return 0;
}


Java




// Java program to find the factorial of a number
// using command line arguments
 
class GFG {
 
    // Method to find factorial of given number
    static int factorial(int n)
    {
        int res = 1, i;
        for (i = 2; i <= n; i++)
            res *= i;
        return res;
    }
 
    // 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]);
 
            // Get the command line argument
            // and find the factorial
            System.out.println(factorial(num));
        }
        else
            System.out.println("No command line "
                               + "arguments found.");
    }
}


Python




# Python program to find factorial of a number
# using command line arguments
 
import sys
 
# Function to find factorial of given number
def factorial(n):
    res = 1
    for i in range(2, n+1):
        res *= i
    return res
 
# Driver code
if __name__ == "__main__":
    # Check if command line argument is provided
    if len(sys.argv) == 1:
        print("No command line arguments found.")
    else:
        # Get the command line argument and
        # Convert it from string type to integer type
        num = int(sys.argv[1])
 
        # Find the factorial
        print(factorial(num))


Output:

  • In C:
  • In Java:
  • In Python

Screenshot-2023-07-19-170345

Time Complexity: O(N)
Auxiliary Space: O(1)



Last Updated : 15 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads