Since 100! could not be stored as ulong, I was thinking of using hexadecimal. Though I find a lot of example of converting hexa to decomal and vice - versa, I cannot find any info on using it in calculations. I have the code for the problem ready, but the size of the number is huge.
Yes hexadecimal may be the way to go, but consider bignumbers.
C# and .NET don't have them, F# does but perhaps that's another story.
Have a look on this site.
It is about the calculation of pi, but there is and implementation of Bignumbers here in C#.