问题标签 [biginteger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
4533 浏览

c++ - 如何在 C++ 中检查除以 7 的大数?

我必须检查,如果给定的数字可以被 7 整除,这通常只是通过做类似的事情来完成n % 7 == 0,但问题是,给定的数字最多可以有 100000000,这甚至不适合long long.

另一个限制是,我只有几千字节的可用内存,所以我不能使用数组。

我希望数字在标准输入上,输出为1/ 0

这是一个例子

应该可以只使用大约 7 个整数变量和cin.get(). 它也应该只使用标准库来完成。

0 投票
3 回答
909 浏览

java - java.math.BigInteger 的问题

我在方法的开头有以下代码:

这应该将 min 加载到一个值 (1 * 2 * 3 * ... * 199 * 200),然后将 triNum 设置为第一个*三角形数**,其值大于 min。

问题是,当我运行该方法时,我得到的只是一个带有“triNum:0”列表的终端窗口,它一直在向下滚动屏幕......我在我的代码中看不到任何东西(尽管我完全有可能做到一些错误,我对 math.BigInteger 有点不熟悉),这似乎指向 BigInteger 类。有人在我的代码中看到错误吗?

..................................................... ..................................................... ……………………………………………………………………………………………………………………

*三角形数是可以通过以下方式达到的数字:1+2+3+4+5+6+7+...

0 投票
5 回答
1741 浏览

c# - BigInteger 是不可变的吗?

在 .NET 4 beta 2 中,新的 Numerics 命名空间带有 struct BigInteger. 正如我所料,文档指出它是一种不可变类型。

但是我对后增量运算符 ( ++) 有点困惑。这肯定会改变价值。以下 while 循环有效:

这就是 MSDN 关于增量运算符的说法:

因为 BigInteger 对象是不可变的,所以 Increment 运算符创建一个新的 BigInteger 对象,其值比由 value 表示的 BigInteger 对象大一。因此,重复调用 Increment 可能会很昂贵。

一切都很好,如果我不得不使用,我会理解的, b = b++但显然++它本身就足以改变一个值。

有什么想法吗?

0 投票
2 回答
4854 浏览

scala - 我可以用任何字节数组(Scala)构造一个 BigInt 吗?

我试图用最短的字符串表示 MD5 哈希的结果。将它变成一个十六进制字符串并让 G 到 Z 浪费掉似乎是一种浪费。

我的一个想法是将输入的 MD5 散列作为一个字节数组并BigInt用它构造一个。然后我可以调用toString(36),并在字符串中以 base-36 形式获取数字(-?[0-9a-z]*,数字可以是正数或负数)。这个对我有用。

问题是,我不确定 aBigInt可以用任何字节数组构造,而且我无法通过测试来证明它(至少不能及时!)。我假设是这样,因为我知道 BigInt 可以是任意大小。在我确定它适用于所有可能的输出之前,我不能使用这种方法。那么,谁能告诉我它是否适用于所有输入(或者如何轻松转换字节数组以便它可以在基数 36 中表示)。

澄清:我有实现,我在询问整个域的行为(即 00000000000000000000000000000000 到 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)

0 投票
3 回答
7229 浏览

java - Java/Scala BigInteger 粘贴

我对 Java 类有一个问题BigInteger:我无法将大值粘贴到BigInteger. 例如,假设我想为BigInteger这个号码分配一个:

我不能直接分配它,因为编译器认为它是一个整数:

但我希望它是一个BigInteger. 有什么办法可以直接粘贴到源代码中?

如果没有这样的方法,那么 Scala 中有没有一种方法,它有一个更容易使用的BigInt类?

0 投票
9 回答
341071 浏览

java - 如何使用大整数?

我有这段代码,它不起作用:

sum 变量始终为 0。我做错了什么?

0 投票
2 回答
8478 浏览

java - Java BigInteger 素数

我正在尝试生成 BigInteger 类型的随机素数,它介于我提供的最小值和最大值之间。

我知道 BigInteger.probablePrime(int bitlength, random),但我不确定位长度如何或是否转换为输出素数的最大/最小值。

谢谢,史蒂文1350

0 投票
5 回答
5810 浏览

c++ - 大数除法

我需要一些可以处理大整数(128 位)的除法算法。我已经问过如何通过位移运算符来做到这一点。但是,我目前的实现似乎要求更好的方法

基本上,我将数字存储为 2long long unsigned int的格式

A * 2 ^ 64 + BB < 2 ^ 64.

这个数字可以被 整除24,我想把它除以24

我目前的方法是将其转换为

但是,这是错误的。

(请注意, floor 是A / 24并且modA % 24。正常除法存储在 中long double,整数存储在long long unsigned int.

由于24等于11000二进制,第二个加数不应该改变第四个加数范围内的任何东西,因为它向左移动了 64 位。

因此,如果A * 2 ^ 64 + B可以被 24 整除,而 B 不能,则很容易表明它存在错误,因为它返回了一些非整数。

我的实施中有什么错误?

0 投票
3 回答
1679 浏览

c++ - C++中的大整数

我知道这个问题可能已经在这个论坛和网络上被问过很多次了。我被要求在 C++ 中创建一个大整数的实现,但是有一个约束是我的构造函数之一应该将一个 int 作为参数......所以我猜会有多个非默认构造函数...... .所以我的问题是,最简单的方法是什么?

0 投票
3 回答
537 浏览

c++ - 固定长度的大整数

我正在寻找一个用于大整数但宽度固定的库(128 或 256 就足够了)。原因是我不想在堆上进行任何分配。我试图自己制作它们,但以一种有效的方式实现乘法、除法和取模似乎很痛苦。

这是否已经存在于某个地方?

谢谢