So my task is: I have the number 100, and I have to print the sum of the digits of it\'s factorial.
So I wrote the code, found a nice way of summing the digits but my c
I've been playing around with my own large math research projects. You can use the .NET BigInteger class (under System.Numerics), but it's not the most efficient library out there.
If you aren't stuck on .NET, I'd suggest using the GNU Multiple Precision Arithmetic Library (https://gmplib.org/). It is both far faster and has far more functionality. You will need to study the docs to learn to use it properly.
Ports of it do exist, though I haven't seen a great port from an API perspective - do a search on Nuget.
All integer types have limits. unsigned long int increased the upper limit. But apparently not nearly far enough. As the others have said in comments, ulong is to short by 100+ orders of magnitude.
For such huge numbers there is two options:
Personally I tend to squeeze operations into the BigInt rather then use Floating point numbers. But that is a personal mater.