private int multiply(int result[], int x, int size){
        
        int carry = 0;
        int prod = 0;
        int i=0;
        for(; i < size; i++){
            prod = result[i]*x + carry;
            result[i] = prod%10;
            carry = prod/10;
        }
        
        while(carry != 0){
            result[i] = carry%10;
            carry = carry/10;
            i++;
        }
        
        return i;
    }
Date 03/14/2015
@author tusroy
Find factorial of very large number like 100.

Solution 
Since result will be very large it cannot fit in long. We need to store result in array
and do regular multiplication of result in array with next number of factorial.
Result is randomly initialized with size 500. Better would be to use list which grows
dynamically.

Test cases:
Negative number - should throw exception for negative number
0 
large number

Reference
http://www.geeksforgeeks.org/factorial-large-number/
src/com/interview/number/FactorialOfLargeNumber.java