引用this回答我在 StackExchange 上的问题,在 Python 中找到满足以下等式的数字的最佳和有效方法是什么:
x = (2 ** a) * (3 ** b)
例如,如果我有数字 40,我必须找出 a
和 b
的值是多少,x 的值就变成 40?
最佳答案
这是一道数学题。
如果您希望 a
和 b
是整数,则方程只有在 x 是 2 和 3 的倍数并且没有其他质因数时才有解。
解决方案是在 x 的质因数分解中找到 2 和 3 的指数(只需将 x 除以 2 直到它不能再整除,然后再除以 3,如果还有剩余则无解)
如果您希望 a
和 b
为实数,则如果 x > 0,则您有无限个数或解。事实上,您可以选择 a 并找到 b 作为 ln(x/(2**a))/ln(3)
。
你确定你的公式吗?
关于python - 查找与特定结果的方程匹配的两个数字的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66673919/