# What is a factorial function? A definition and explanation of this much-used programming term

In computer programming, factorial is a very common term.

What does it mean?

A factorial is represented by an exclamation mark: !

It means that you multiply a series of descending natural numbers.

2! = 2 x 1 = 2

3! = 3 x 2 x 1 = 6

4! = 4 x 3 x 2 x 1 = 24

5! = 5 x 4 x 3 x 2 x 1 = 120

Mathematically, the factorial of a non-negative integer n is written as n!, where n>0 and n!=n*(n-1)*(n-2)*…*1. For example, 5!=5*4*3*2*1=120.

A factorial is a function that multiplies a number by every number below it. For example 5!=5x4x3x2x1=120. The notation an! means the product of all the whole numbers from 1 to n; it is pronounced “n factorial.” Factorials were first used by Christian Kramp in 1808 without a special symbol, but he did use a vertical bar to denote the factorial operation. An upper case “!” is now generally used for this purpose.

To write a program for calculating a factorial, you can use one of several methods. First you can simply use a loop, as shown below:

public class Factorial {

public static void main(String[] args) {

int n = 10;

int result = 1;

for(int i=1; i<=n; i++) { result = result * i; } System.out.println("Factorial of "+n+" is: "+result); }//end of main method }//end of class Factorial public class FactorialDemo { public static void main(String[] args) { int myNumber = 4; System.out.println(myNumber + "! = " + factorial(myNumber)); } private static int factorial(int n) { if (n == 0) { return 1; } // base case return n * factorial(n - 1); // recursive call } } Factorials. In math, factorials are written with an exclamation mark: 4! = 4*3*2*1. The factorial of a number is the product of all integers from that number down to 1. For example, here is a table of the first five factorials: Number Factorial 1 1 2 2 * 1 = 2 3 3 * 2 * 1 = 6 4 4 * 3 * 2 * 1 = 24 5 5 * 4 * 3 * 2 * 1 = 120 In Java, the factorial of an integer n is given by n! = n*(n-1)*(n-2)*...(3)(2)(1). Here's a program that computes the factorial of a number using a for loop: A factorial is represented by the sign (!). It means to multiply a series of descending natural numbers. To get N!, you would start with 1 and multiply it by 2, then 3, then 4, and so on until you reach N. For example, if N=5, we would have: 1*2*3*4*5 = 120 If N=0, the result is 1. The factorial function is not defined for negative numbers and the factorial of zero is one, 0! = 1. Factorial can also be called subfactorial or derangement function as well as rencontement number. Some authors use exclamation mark only to represent subfactorial. public static int fact(int n) { if (n == 1 || n == 0){ return n; } else{ int answer = n * fact(n - 1); return answer; } } Now, on to the program. I'm going to be using Java for this one, since it's a common language and should be easy for anyone to pick up on. So, let's start with the import statements. We're going to be using a few of the built-in functions from the java.lang library, so we'll need to import those: import java.lang.*; import java.util.*; Now that we have that taken care of, let's declare our main method: public static void main(String[] args) { // placeholder for code } All of our code will go inside the brackets for now (I'll talk about why in just a second). The next step is to get and validate our input. We want an integer between 0 and 20 inclusive. We can do this through user input, or by using command line arguments (the args array we passed into the main method is populated with any command line arguments entered when executing the program). Let's do it through user input first, since that's easier: System.out.print("Enter a number between 0 and 20: "); Scanner scanner = new Scanner(System.in); int n = scanner.