首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个比ULong大的值?计算100!

一个比ULong大的值?计算100!
EN

Stack Overflow用户
提问于 2009-08-12 17:33:24
回答 5查看 7K关注 0票数 7

我在计算100!而且似乎没有内置的阶乘函数。所以,我写了:

代码语言:javascript
复制
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来说,值要么太大要么太小。

那么,是否有更大的数据类型来保存数字?我的方法弄错了吗?我无助吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-12 17:39:02

听起来像欧拉计划。

.NET 4.0有System.Numerics.BigInteger,或者您可以在这里获得一个非常好的实现:

C# BigInteger类

编辑: treed :(

我将添加-在CodeProject的版本有额外的功能,如整数平方根,一个原始性测试,卢卡斯序列生成。而且,您无法直接访问.NET实现中的缓冲区,这对我尝试过的几件事来说是很烦人的。

票数 8
EN

Stack Overflow用户

发布于 2009-08-12 17:38:42

在您可以使用System.Numerics.BigInteger之前,您将无法使用像论代码工程这样的非Microsoft实现。

票数 1
EN

Stack Overflow用户

发布于 2009-09-05 09:42:47

提示:使用数组存储数字的数字。您可以通过检查来判断结果不会超过200位数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1267583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档