【发布时间】:2009-08-12 17:33:24
【问题描述】:
我正在尝试计算 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 来说很小。
那么,有没有更大的数据类型来保存数字?我的方法有误吗?我很无助吗?
【问题讨论】:
-
你为什么不抓住机会自己写一个 bigint 类呢?这更符合欧拉计划的精神...... :)
-
备案:100! ~= 9.33262154 × 10^157
-
@Guffa 如果我只知道从哪里开始,哈哈
-
实际上实现 bigint 类并不难。如果你只需要 100,你甚至可以通过重复加法来实现乘法!