问题标签 [modulo]
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.
math - 如何计算大数的模?
如何在不使用计算器的情况下计算 5^55 模数 221 的模数?
我想密码学中的数论中有一些简单的原则来计算这些东西。
c++ - C++ 中高数的模幂运算
所以我最近一直在研究米勒-拉宾素数测试的实现。我将它限制在所有 32 位数字的范围内,因为这是一个有趣的项目,我正在做它来熟悉 c++,并且我不想使用任何 64 位一会儿。一个额外的好处是该算法对所有 32 位数字都是确定性的,因此我可以显着提高效率,因为我确切地知道要测试哪些证人。
因此,对于低数字,该算法运行得非常好。但是,该过程的一部分依赖于模幂运算,即 (num ^ pow) % mod。所以,例如,
这是我一直用于此模幂运算的代码:
正如您可能已经猜到的那样,当参数都是非常大的数字时,就会出现问题。例如,如果我想测试数字 673109 的素数,我必须在某一时刻找到:
(2 ^ 168277) % 673109
现在 2 ^ 168277 是一个非常大的数字,并且在过程中的某个地方它会溢出测试,从而导致不正确的评估。
在反面,论点如
4000111222 ^ 3 % 1608
出于同样的原因,也评估不正确。
有没有人对模幂运算提出建议,以防止这种溢出和/或操纵它以产生正确的结果?(在我看来,溢出只是模的另一种形式,即 num % (UINT_MAX+1))
java - Python与Java中的模数实现之间的区别
我注意到 Python 和 Java 中模运算符的不同实现。
例如,在 Python 中:
而在 Java 中:
这让我措手不及,因为我认为像模数这样基本的东西被普遍解释为相同的方式。我是 Python 解释的粉丝(我认为它是从 C 中借来的),尽管我看到了 Java 实现背后的逻辑。
你通常更喜欢哪个?不同的解释有什么具体原因吗?我无意发动语言战争,只是好奇。
math - 使用模数会支持高数吗?
在 0-32 范围内添加 6 个随机唯一数字并对结果进行取模有利于大数字吗?
示例:9 +10 +11 +18 +25 +28 +32 = 133 % 20 = 13
c++ - 碱基转换问题
我现在正在尝试将整数转换为字符串,但遇到了问题。
我已经编写了大部分代码并可以正常工作,但是在携带到下一个地方时它有一个小缺陷。很难描述,所以我举个例子。使用 base 26 和由小写字母组成的字符集:
0 = “a”
1 = “b”
2 = “c”
...
25 = "z"
26 = "ba" (这应该等于 "aa")
在某些情况下,它似乎会跳过字符集中零位的字符。
让我感到困惑的是我的代码没有任何问题。我一直在研究这个太久了,我仍然无法弄清楚。
我有一种感觉,这个函数在返回零的模上跳闸了,但我一直在研究这个,我不知道它是怎么发生的。欢迎任何建议。
编辑:生成的字符串是小端的事实与我的应用程序无关。
php - 模数 PHP 问题
我有一个问题,我试图计算一个数字的最低质数,但我不明白 PHP 给我的结果。
如果我有这个号码
然后我对其进行模数:
为什么 $value = 3?如果 $value = 3,这意味着 600851475143 / 3应该是一个整数,但它不是。所以我不明白为什么 if() 评估为真?
time - 返回带模数的时间分量
有人在一个班次中完成 20 小时 42 分 16 秒,总计 74536 秒。我如何从该人为该班次所做的秒数中获取小时数?
已经尝试过84600;事实证明,当一个数字低于模数时,它真的不是很有帮助,如果有人只登录几秒钟,我将不得不抓住一些东西......
objective-c - Objective-C 中的模运算符返回错误的结果
当我在 Objective-C 中进行模运算时得到的结果让我有点害怕。-1 % 3 结果是 -1,这不是正确的答案:根据我的理解,它应该是 2。-2 % 3 出来是 -2,这也不正确:它应该为1。
除了 % 运算符之外,我还应该使用另一种方法来获得正确的结果吗?
modulo - 如何在 C++ 中找到大数除法的余数?
我对 C++ 中的模数有疑问。我试图做的是划分一个非常大的数字,例如,M % 2,其中 M = 54,302,495,302,423。但是,当我去编译时,它说这个数字对于 int 来说是“长”的。然后,当我将其切换为双精度时,它会重复相同的错误消息。有没有办法可以做到这一点,我可以得到这个非常大的数字的剩余部分,或者可能更大的数字?感谢您的帮助,非常感谢。
numbers - “几乎可分”
我想检查浮点值是否“几乎”是 32 的倍数。例如 64.1“几乎”可以被 32 整除,63.9 也是如此。
现在我正在这样做:
有更好的方法来做到这一点吗?