This project was done for a class. We were to pick a programming problem and try to optimize it. I chose to try and do factorials of larger numbers. This implementation finds the factorial by prime factorizing numbers instead of doing all of the multiplications. This avoids the need to create a separate Big Number datatype because 1024! will not fit inside of any standard C data type and using a pre-existing library wouldn't leave much room for optimization.
For more information on what this project was about and its findings, see: https://docs.google.com/presentation/d/1b5qT0_VcgjdIEZR9vE2OIUZDFDug6kf8c9QfJeY6azs/edit