我使用以下代码来获得Factorial,但它似乎对我有限。
private Int64 GetFactorial(Int64 value)
{
if (value <= 1)
{
return 1;
}
return value * GetFactorial(value - 1);
}
但似乎只允许65
值66
上的值,它提供0
作为结果,如果值为65或接近,则结果也为负值。我可以做些什么来允许更多的值使用,并获得System.StackOverflowException
的结果?
答案 0 :(得分:3)
您可能想要查看BigInteger结构,因为它允许任意大小的整数:http://msdn.microsoft.com/en-us/library/system.numerics.biginteger(v=vs.110).aspx
答案 1 :(得分:0)
Uint64会让你更多,不知道有多少。