我在计算100!而且似乎没有内置的阶乘函数。所以,我写了:
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不幸的是,在
对于UInt64来说,值要么太大要么太小。
那么,是否有更大的数据类型来保存数字?我的方法弄错了吗?我无助吗?
发布于 2009-08-12 17:39:02
听起来像欧拉计划。
.NET 4.0有System.Numerics.BigInteger,或者您可以在这里获得一个非常好的实现:
编辑: treed :(
我将添加-在CodeProject的版本有额外的功能,如整数平方根,一个原始性测试,卢卡斯序列生成。而且,您无法直接访问.NET实现中的缓冲区,这对我尝试过的几件事来说是很烦人的。
发布于 2009-08-12 17:38:42
在您可以使用System.Numerics.BigInteger之前,您将无法使用像论代码工程这样的非Microsoft实现。
发布于 2009-09-05 09:42:47
提示:使用数组存储数字的数字。您可以通过检查来判断结果不会超过200位数。
https://stackoverflow.com/questions/1267583
复制相似问题