A value larger than ULong? Computing 100!
asp.net, c#, math, vb.net
Solution
Sounds like Project Euler.
.NET 4.0 has System.Numerics.BigInteger, or you can pick up a pretty sweet implementation here: C# BigInteger Class
Edit: treed :(
I'll add - the version at CodeProject has additional features like integer square root, a primality test, Lucas sequence generation. Also, you don't have direct access to the buffer in the .NET implementation which was annoying for a couple things I was trying.
Problem
I'm trying to compute 100! and there doesn't seem to be a built-in factorial function. So, I've written: ``` Protected Sub ComputeFactorial(ByVal n As ULong) Dim factorial As ULong = 1 Dim i As Integer For i = 1 To n factorial = factorial * i Next lblAnswer.Text = factorial End Sub ``` Unfortunately, running this with the value of 100 for n rseults in Value was either too large or too small for a UInt64. So, is there a larger data type for holding numbers? Am i mistaken in my methods? Am I helpless?