问题标签 [exponentiation]
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.
python - Python 通过对非常大的整数进行平方来实现 pow() 求幂
我正在尝试通过平方http://en.wikipedia.org/wiki/Exponentiation_by_squaring来滚动我自己的 pow() ,它使用幂运算一点一点地遍历二进制。如果这有助于您思考这个问题,那么这方面有一些问题:
Python 中用于浮点数的内置 pow() 和 math.pow() 之间的区别?
我正在自学 Python,所以这可能是我犯的一些简单错误。
输出正确的是 31,21,12,错误的是 5,2,8:
不知道这一切都在哪里发生了可悲的错误。
c++ - 通过平方进行模幂运算的溢出可能性
我正在寻找实施费马小定理进行质数测试。这是我写的代码:
注意:我取了a(<=n-1)
as的值2
。
现在,数字 n 可以大到10^18
。这意味着变量exp
可以达到 附近的值10^18
。这进一步意味着表达式(exp*exp)
可以达到10^36
导致溢出的高度。我该如何避免这种情况。
我对此进行了测试,它运行良好,直到10^9
. 我正在使用C++
c# - .NET BigInteger 分数幂
绝对没有办法将 BigInteger 提高到双倍值?有这样的图书馆吗?获得相同结果的任何替代方法?有任何想法吗?
matlab - 矢量化幂
我有两个向量,X
一个基数和N
一个指数。我想获取每个in和in的所有值的矩阵。e = xn
x
X
n
N
例如,以下输入:
应该产生:
有没有办法在不循环的情况下得到这个(就像你可以通过使用逐行乘积来获得 x×n 的所有值一样)?
integer - OCaml 中的整数取幂
OCaml 中是否有整数求幂函数?** 仅适用于花车。虽然它似乎大部分是准确的,但是否存在精度错误的可能性,例如 2. ** 3. = 8. 有时返回 false ?是否有用于整数幂运算的库函数?我可以自己编写,但会涉及到效率问题,如果还没有这样的功能,我会感到惊讶。
math - 双打和代码准确性:出了什么问题?
我在以下代码中遇到了双精度数及其总和的准确性问题:
其中输出的前五项是:
很明显,将“1.0^3.0”(基本上是“1.0”)与“2.0^53.0”相加不等于“2.0^53.0”;y 值也有问题。
可能是我的条件语句有缺陷,或者我可能不得不使用不同的原始数据类型......谢谢。
algorithm - 通过循环移位求幂
SO 上的其他一些主题提到了 Brickell 等人的论文“<a href="http://www.ccrwest.org/gordon/fast.pdf" rel="nofollow">Fast Exponentiation with Precomputation”,其中,除了与二进制数字对应的幂的预计算的简单概念外,还有一个关于“循环移位求幂”的声明(据我所知)。不幸的是,论文的那部分是用一种非常笼统的形式表达的,所以我根本无法弄清楚他们是否在谈论一些明显变得复杂的东西,而不是 2**n,或者真的存在某种其他的求幂方法比乘法(平方)?
例如,假设我们有x = 5
(这是00101
二进制的)。怎么可能以y = 5 * 5
(11001
二进制)结束,只使用位移位,也许还有一些加法?当然,算法应该比乘法更有效——答案是“你可以通过一堆位移和加法来模拟每个乘法,因为y = (5 << 2) + (5 << 0)
”不算数。好吧,如果稀疏数字很常见,它可以计算,但这不是常见的情况,并且确定确切的位数也很耗时,因此,除非数字非常稀疏,否则不值得尝试,越是这样每次平方后都需要进行新的评估。
matlab - 如何对非方阵的每个元素求幂?
我有一个尺寸为 512 x 683 的矩阵,我希望通过将其分别提高到 0.8 和 1.2 来对其进行伽马变换。显然你不能将非方阵提升到幂,所以我想知道如何将矩阵的每个元素提升到 0.8 次方和 1.2 次方。
谢谢
c++ - 仅需要 k 位数字时的快速求幂 - 续
我需要帮助的地方...
我现在要做的是翻译这个解决方案,它计算一个数字的尾数到 C++:
从结果中查找前 n 位数字可以这样完成:
我的尝试(由数学和这段代码引发)失败了......:
如果那里的任何人都可以正确实施此解决方案,我需要您的帮助!!
编辑
我尝试的示例输出:
n: 2
米:0
n^m: 1
计算尾数:1.16334
n: 2
米:1
n^m: 2
计算尾数:2.32667
n: 2
米:2
n^m: 4
计算尾数:4.65335
n: 2
米:98
n^m: 3.16913e+29
计算尾数:8.0022
n: 2
米:99
n^m: 6.33825e+29
计算尾数:2.16596
max - 如何执行可能超过 LONG_MAX 的数学函数
我如何执行(A div B)mod C,我在一个函数中计算 A,在另一个函数中计算 B,C 是说(10 pow 9 加 7)但 A 和 B 都可能大于 C,或 INT_MAX