【问题标题】:What is a good language to work with arbitrary length integers? [closed]什么是处理任意长度整数的好语言? [关闭]
【发布时间】:2012-01-08 18:23:46
【问题描述】:

我想分解整数,例如

41748850938502584251

我想用蛮力分解这个。鉴于这个数字的长度很短,这应该是可能的。

什么是支持任意长度整数数据类型的合适编程语言?

【问题讨论】:

  • 大多数语言都会为您做到这一点。这不是选择另一个的充分理由。随便挑一个。
  • C和C++都可以使用GMP任意精度库,非常好。 Java 具有内置的任意精度整数。 JavaScript 没有。

标签: programming-languages factorization


【解决方案1】:

Scheme 有一个特色 numeric tower,除其他外,它提供任意精度整数(请参阅 R6RS 的 sec. 3.4,它需要符合要求的实现)。

【讨论】:

  • 我在 Scheme 中有一个小型函数库,它提供 (prime n) 使用 Eratosthenes 的筛子制作一个不超过 n 的素数列表,(prime?n) 来确定 n 是否为素数Miller/Rabin 检验,和 (因子 n) 使用 Pollard 的 rho 算法找到 n 的因子。您可以在 http://ideone.com/x4tzl 看到它处理您的因式分解问题。
【解决方案2】:

你可以使用 Perl。放

use bigint;

在程序的开头。

【讨论】:

    【解决方案3】:

    Java 的 BigInteger 类处理非常大的数字:http://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html

    【讨论】:

      【解决方案4】:

      Haskell 具有 Integer 数据类型,用于无限整数。 同样的 Frege(它使用 Java 的大整数)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-07
        • 1970-01-01
        • 1970-01-01
        • 2015-03-04
        • 2016-03-07
        相关资源
        最近更新 更多