【问题标题】:Handling very large number in .net在 .net 中处理非常大的数字
【发布时间】:2013-08-05 06:53:20
【问题描述】:

是否有任何库可以处理大于 .net 中的 BigInteger 可以处理的数字?使用BigInteger,我可以计算出斐波那契数列直到第 3226 项。如何计算更多项?发生溢出时有没有办法加入两个BigInteger?寻求您的帮助。

【问题讨论】:

  • 我一直在尝试这个。这不是在任何地方提交作业。
  • 你想要完成什么?只计算 Satatic 幅度的斐波那契成员或其他什么?
  • 您还可以发布用于计算系列的代码示例。
  • @Venson: The homework tag is deprecated. AFAIK,作业 flag 不存在。

标签: c# .net types fibonacci largenumber


【解决方案1】:

使用BigInteger 在.Net 中处理一个未知的大数字,没有其他方法。如果它溢出了,这个数字简直太大了,无法处理,没有办法看到:

因为 BigInteger 类型是不可变的(请参阅 Mutability 和 BigInteger 结构)并且因为它没有上限或下限,所以 任何会导致 BigInteger 值增长过大。

【讨论】:

    【解决方案2】:

    我认为问题是你的,而不是BigInteger:

    BigInteger prev2 = 1;
    BigInteger prev1 = 1;
    
    int i = 3;
    
    while (true)
    {
        BigInteger fi = prev2 + prev1;
        Console.WriteLine("{0}th: {1}", i, fi);
        prev2 = prev1;
        prev1 = fi;
        i++;
    }
    

    它毫无问题地到达第 300000 个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-07
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 2011-09-26
      相关资源
      最近更新 更多