问题标签 [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.
c++ - 如何在 C++ 中检查除以 7 的大数?
我必须检查,如果给定的数字可以被 7 整除,这通常只是通过做类似的事情来完成n % 7 == 0
,但问题是,给定的数字最多可以有 100000000,这甚至不适合long long
.
另一个限制是,我只有几千字节的可用内存,所以我不能使用数组。
我希望数字在标准输入上,输出为1
/ 0
。
这是一个例子
应该可以只使用大约 7 个整数变量和cin.get()
. 它也应该只使用标准库来完成。
java - java.math.BigInteger 的问题
我在方法的开头有以下代码:
这应该将 min 加载到一个值 (1 * 2 * 3 * ... * 199 * 200),然后将 triNum 设置为第一个*三角形数**,其值大于 min。
问题是,当我运行该方法时,我得到的只是一个带有“triNum:0”列表的终端窗口,它一直在向下滚动屏幕......我在我的代码中看不到任何东西(尽管我完全有可能做到一些错误,我对 math.BigInteger 有点不熟悉),这似乎指向 BigInteger 类。有人在我的代码中看到错误吗?
..................................................... ..................................................... ……………………………………………………………………………………………………………………
*三角形数是可以通过以下方式达到的数字:1+2+3+4+5+6+7+...
c# - BigInteger 是不可变的吗?
在 .NET 4 beta 2 中,新的 Numerics 命名空间带有 struct BigInteger
. 正如我所料,文档指出它是一种不可变类型。
但是我对后增量运算符 ( ++
) 有点困惑。这肯定会改变价值。以下 while 循环有效:
这就是 MSDN 关于增量运算符的说法:
因为 BigInteger 对象是不可变的,所以 Increment 运算符创建一个新的 BigInteger 对象,其值比由 value 表示的 BigInteger 对象大一。因此,重复调用 Increment 可能会很昂贵。
一切都很好,如果我不得不使用,我会理解的, b = b++
但显然++
它本身就足以改变一个值。
有什么想法吗?
scala - 我可以用任何字节数组(Scala)构造一个 BigInt 吗?
我试图用最短的字符串表示 MD5 哈希的结果。将它变成一个十六进制字符串并让 G 到 Z 浪费掉似乎是一种浪费。
我的一个想法是将输入的 MD5 散列作为一个字节数组并BigInt
用它构造一个。然后我可以调用toString(36)
,并在字符串中以 base-36 形式获取数字(-?[0-9a-z]*
,数字可以是正数或负数)。这个对我有用。
问题是,我不确定 aBigInt
可以用任何字节数组构造,而且我无法通过测试来证明它(至少不能及时!)。我假设是这样,因为我知道 BigInt 可以是任意大小。在我确定它适用于所有可能的输出之前,我不能使用这种方法。那么,谁能告诉我它是否适用于所有输入(或者如何轻松转换字节数组以便它可以在基数 36 中表示)。
澄清:我有实现,我在询问整个域的行为(即 00000000000000000000000000000000 到 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)
java - Java/Scala BigInteger 粘贴
我对 Java 类有一个问题BigInteger
:我无法将大值粘贴到BigInteger
. 例如,假设我想为BigInteger
这个号码分配一个:
我不能直接分配它,因为编译器认为它是一个整数:
但我希望它是一个BigInteger
. 有什么办法可以直接粘贴到源代码中?
如果没有这样的方法,那么 Scala 中有没有一种方法,它有一个更容易使用的BigInt
类?
java - 如何使用大整数?
我有这段代码,它不起作用:
sum 变量始终为 0。我做错了什么?
java - Java BigInteger 素数
我正在尝试生成 BigInteger 类型的随机素数,它介于我提供的最小值和最大值之间。
我知道 BigInteger.probablePrime(int bitlength, random),但我不确定位长度如何或是否转换为输出素数的最大/最小值。
谢谢,史蒂文1350
c++ - 大数除法
我需要一些可以处理大整数(128 位)的除法算法。我已经问过如何通过位移运算符来做到这一点。但是,我目前的实现似乎要求更好的方法
基本上,我将数字存储为 2long long unsigned int
的格式
A * 2 ^ 64 + B
与B < 2 ^ 64
.
这个数字可以被 整除24
,我想把它除以24
。
我目前的方法是将其转换为
但是,这是错误的。
(请注意, floor 是A / 24
并且mod
是A % 24
。正常除法存储在 中long double
,整数存储在long long unsigned int
.
由于24
等于11000
二进制,第二个加数不应该改变第四个加数范围内的任何东西,因为它向左移动了 64 位。
因此,如果A * 2 ^ 64 + B
可以被 24 整除,而 B 不能,则很容易表明它存在错误,因为它返回了一些非整数。
我的实施中有什么错误?
c++ - C++中的大整数
我知道这个问题可能已经在这个论坛和网络上被问过很多次了。我被要求在 C++ 中创建一个大整数的实现,但是有一个约束是我的构造函数之一应该将一个 int 作为参数......所以我猜会有多个非默认构造函数...... .所以我的问题是,最简单的方法是什么?
c++ - 固定长度的大整数
我正在寻找一个用于大整数但宽度固定的库(128 或 256 就足够了)。原因是我不想在堆上进行任何分配。我试图自己制作它们,但以一种有效的方式实现乘法、除法和取模似乎很痛苦。
这是否已经存在于某个地方?
谢谢