首页 > web前端 > js教程 > Codewars - 构建一堆立方体

Codewars - 构建一堆立方体

Patricia Arquette
发布: 2025-01-07 08:32:39
原创
575 人浏览过

问候。

Codewars - Build a pile of Cubes

我在本系列中发布了 Codewars 挑战和我的思考过程。我尽可能使用 JS 和 Node 18。只是为了清楚起见,我正在合理使用它们。

下一个对于我们这些数学困难的人来说很棘手。不过,这是一个很好的挑战。本质上,它归结为计算“n”个立方的总和。然后还有一些黑魔法(又名:代数)等瞧!解决了。​​

立方之和用证明解释。

完整解决方案:

function findNb(m) {

  // sum of n cubes = ( n^2 * (n+1)^2 ) / 4

  let number = m * 4;
  number = number ** (1/2);
  let numberAux = number ** (1/2);
  let floor = Math.floor(numberAux);
  let ceiling = (Number.isInteger(numberAux)) ? floor + 1 : Math.ceil(numberAux);
  if ( floor * ceiling == number ){
    return floor;
  }
  return (-1);
}
登录后复制

为什么我们要计算下限和上限?因为如果参数 m 确实代表“n”个立方体的总和,那么 numberAux 就是我们要查找的数字的一部分。我们只需要整数部分。这是“n”。而且还是地板。

如果 'm' 不代表立方之和,则函数返回 -1。没什么大不了的。

它有效。我不知道 6 个月后的我是否能理解任何事情。

保重。喝水???.

上一页

以上是Codewars - 构建一堆立方体的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板