问候。
我在本系列中发布了 Codewars 挑战和我的思考过程。我尽可能使用 JS 和 Node 18。只是为了清楚起见,我正在合理使用它们。
所以,本系列的下一个是数字之和。在这个具体问题中,更多的是数学而不是编码。看,您需要计算面积。例如,在此图中,我们显示 -5 到 4 之间的所有值:
如果您愿意,您可以使用集成,但有一个更简单的途径。由于我们处理的是线性函数,因此我们可以搜索中位数并乘以范围:
所以我们只需要在代码中插入该方程即可。它是这样开始的:
function getSum(a, b) { //Good luck! }
function getSum(a, b) { let sum = (b ** 2 - a ** 2 + b + a ) / 2 ; return sum; }
我们对其进行测试并且:
但是为什么呢?我知道方程已正确简化,所以...哦。这就是问题所在:
getSum(a, b)
(a,b) 完全按照这个顺序。如果输入为 (-5,4),则有效,但如果输入为 (4,-5),则无效。使固定?您可以针对这两种情况编写“if”语句。不过我不会那样做。我会这样做:
if (a > b){ let c = a; a = b; b = c; }
因此,我们将所有内容放在一起:
function getSum(a, b) { if (a > b){ let c = a; a = b; b = c; } let sum = (b ** 2 - a ** 2 + b + a ) / 2 ; return sum; }
还算不错,易于阅读。
赛亚。喝水???.
上一页
以上是Codewars - 初学者系列#um of Numbers的详细内容。更多信息请关注PHP中文网其他相关文章!