Getting this question for a whiteboard problem is fun. It allows you to give your interviewer a second long “Are you serious?” look and then turning to the white-board and knocking it out in silence. Of course if you get it wrong you get to wish that you can just melt into the carpet.
The factorial of a number is simply a number multiplied by each integer smaller than itself, all the way down to 1.
public static int factorial(int number){ if (number < 1){ return 0; } int fact = 1; for(int i=number; i>0; i--){ fact=fact*i; } return fact; }
Of course, you will probably be asked if you can do this recursively too, so you turn around and and scribble this on the white-board
public static int factorial(int number){ if (number < 1){ return 0; } if (number==1){ return 1; } return number*factorial(number-1); }