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.
Recursive :
// 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 )); } } |
Iterative Solution:
// 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 )); } } |
One line Solution (Using Ternary operator):
// 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. |
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!