The Factorial of number is denoted by n! , is the product/multiplication of all positive integers less than or equal to n.
Where n is always a non-negative number and The value of 0! is 1, according to the convention for an empty product.
Example :
0!=1=1
1!=1=1
5!=5 * 4 * 3 * 2 * 1=120
12!=12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1=479001600
Below are examples to calculate factorial of a Number. I have consider all the cases like calculation of big factorial number by loop and also through recursion.
Factorial of a Number by using Java code loop.
class Factorial { public static void main(String args[]) { int n, c, fact = 1; System.out.println("Enter an integer to calculate it's factorial"); Scanner in = new Scanner(System.in); n = in.nextInt(); if (n < 0) System.out.println("Number should be non-negative."); else { for (c = 1; c <= n; c++) fact = fact * c; System.out.println("Factorial of " + n + " is = " + fact); } } }
Factorial of a Big Integer Number by using loop
If calculation of number is too big which cross the Integer limit then use BigInteger instead if Integer.
class Factorial { public static void main(String args[]) { int n, c; BigInteger inc = new BigInteger("1"); BigInteger fact = new BigInteger("1"); Scanner input = new Scanner(System.in); System.out.println("Input an integer"); n = input.nextInt(); for (c = 1; c <= n; c++) { fact = fact.multiply(inc); inc = inc.add(BigInteger.ONE); } System.out.println(n + "! = " + fact); } }
Factorial of Integer Number by using Java Recursion.
import java.util.Scanner; public class FactorialByRecursion { public static void main(String[] args) { int n; System.out.println("Enter an integer to calculate it's factorial"); Scanner in = new Scanner(System.in); n = in.nextInt(); if (n < 0) System.out.println("Number should be non-negative."); else { System.out.println("Factorial of " + n + " is = " + factorial(n)); } } private static int factorial(int num) { //Recursion Terminating condition if 0 terminate with value 1 if(num==0) return 1; else return num*factorial(num-1); } }
More Info
For more Algorithms and Java Programing Test questions and sample code follow below links
You must log in to post a comment.