Javascript - 获取计算机方程的最小整数解

标签 javascript math

我在尝试求解编程方程时遇到问题。

假设我有这行代码:

Math.round(((x / 5) + Math.pow(x / 25, 1.3)) / 10) * 10;

给定 x = 1000,结果为 320。

现在,给定结果,我该如何解这个方程?

想象一下,给定结果 320,我想获得解析该行代码的 x 的最小整数值。

/*320 =*/ Math.round(((x / 5) + Math.pow(x / 25, 1.3)) / 10) * 10;

由于 Math.Round,我遇到了一些困难。即使表达式是一个线性方程,Math.Round 给出的解比 x 的解还要多,所以我想要解的最小整数值。

请注意,x 是一个整数,如果我设置 x = 999,结果仍然是 320。

如果我继续降低 x,我可以看到 984(至少在 Chrome 64.0.3282.186 中)是这种情况下的正确答案,因为在该表达式/编程行中 x 的最小值等于 320。

最佳答案

使用 Math.round 求解方程只会引入边界条件。

如果:

Math.round(((x / 5) + Math.pow(x / 25, 1.3)) / 10) * 10 = 320

然后:

Math.round(((x / 5) + Math.pow(x / 25, 1.3)) / 10)  = 32

两边除以 10。现在你有:

Math.round(expression) = 32

可以表示为不等式:

31.5 < expression < 32.4999..

等于 31.5 的表达式代表一个边界,等于 32.499.. 的表达式代表另一个边界。因此求解边界需要求解:

expression = 31.5 and expression = 32.49999...
((x / 5) + Math.pow(x / 25, 1.3))/10 = 31.5  and 
((x / 5) + Math.pow(x / 25, 1.3))/10 = 32.4999

求解这两个值的 x 将给出 x 的有效值范围。现在这只是代数,我不会做:)

关于Javascript - 获取计算机方程的最小整数解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49375323/

相关文章:

javascript - 将 materializecss 从 0.100.1 升级到 1.0.0 导致多个 javascript 错误

javascript - Google Maps Places 搜索框 : how to recalculate position of pac-container

string - 生成汉明距离为 n/2 的所有 n 位字符串

algorithm - 获取给定颜色的渐变,其中颜色位于渐变的中间

android - GradientDrawable 类的 innerRadiusRatio 和 thicknessRatio 之间存在什么样的联系?

javascript - 参加事件?把它关掉?

javascript - 单击div外部时如何关闭菜单?

javascript - 在 JavaScript 中多次添加图像

math - 在 Haskell 中实现 Gauss-Jordan 消去法

javascript - 使用 Clip() 重复纹理以循环