Java Program for factorial of a number

Factorial of a non-negative integer, is multiplication of all integers smaller than or equal to n. For example factorial of 6 is 6*5*4*3*2*1 which is 720.

factorial

Recursive :

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find factorial of given number
class Test
{
    // method to find factorial of given number
    static int factorial(int n)
    {
        if (n == 0)
          return 1;
          
        return n*factorial(n-1);
    }
      
    // Driver method
    public static void main(String[] args) 
    {
        int num = 5;
        System.out.println("Factorial of "+ num + " is " + factorial(5));
    }
}

chevron_right


Iterative Solution:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find factorial of given number
class Test
{
    // 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 method
    public static void main(String[] args) 
    {
        int num = 5;
        System.out.println("Factorial of "+ num + " is " + factorial(5));
    }
}

chevron_right


One line Solution (Using Ternary operator):

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find factorial
// of given number
class Factorial {
  
  int factorial(int n)
  {
  
    // single line to find factorial
    return (n == 1 || n == 0) ? 1 : n * factorial(n - 1);
  
  }
  
  
  // Driver Code
  public static void main(String args[])     
  {
    Factorial obj = new Factorial();
    int num = 5;
    System.out.println("Factorial of " + num + 
                      " is " + obj.factorial(num));
   }
}
// This code is contributed by Anshika Goyal.

chevron_right


The above solutions cause overflow for small numbers. Please refer factorial of large number for a solution that works for large numbers.

Please refer complete article on Program for factorial of a number for more details!



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.