The p-sized partitioning algorithm for fast computation of factorials of numbers

Computing products of large numbers has always been a challenging task in the field of computing. One such example would be the factorial function. Several methods have been implemented to compute this function including naive product, recursive product, Boiten split, and prime factorization, and linear difference. The method presented here is unique in the sense that it exploits finite order differences to reduce the number of multiplications necessary to compute the factorial. The differences generated are regrouped into a new sequence of numbers, which have at most half as many elements of the original sequence. When the terms of this new sequence are multiplied together, the factorial value is obtained. The cardinality of the new sequence can further be reduced by partitioning. The sequence is computed by using several difference tables that assist in establishing the pattern that determines the sequence. An analysis of the algorithm is presented. The analysis shows that the execution time can be reduced significantly by the algorithm presented.