–>Should be able to define a solution of a problem in terms of solution of similar problems
  –>Proper terminating condition
Factorial==>
5!=>5x4x3x2x1
5!=5×4!
4!=4x3x2x1
4!=4×3!
cimport java.util.*;
class ASC
{
 static int fact(int n)//5
 {
  if(n==0)
  return 1;
  else
  return n*fact(n-1);
 }
public static void main(String args[])
{
int result=fact(5);
System.out.println(result);
}
}