罗塞塔代码挑战(freeCodeCamp项目)

46次阅读
2 条评论

共计 546 个字符,预计需要花费 2 分钟才能阅读完成。

100 门

有 100 扇门,最初都是关闭的。你要通过这些门 100 次,第一次通过,访问每一扇门并“切换”门(如果门关闭,打开它;如果它打开,关闭它)。第二次,只访问 2 倍数的门(即门 #2 #4 #6…)。第三次,只访问 3 倍数的门(即门 #3 #6 #9…),直到只访问 100 倍数的门。

实现一个函数,以确定最后一次通过后门的状态。以数组形式返回最终结果,数组中只包含打开的门的门号。

function getFinalOpenedDoors(numDoors) {let doors = []
  for (let i = 0; i < 100; i++) doors[i] = false

  for (let i = 1; i <= 100; i++) for (let i2 = i - 1; i2 < 100; i2 += i) doors[i2] = !doors[i2]

  for (let i = 0; i < 100; i++) doors[i] = doors[i] ? i + 1 : 0

  return doors.filter((door) => door > 0)
}

24 点游戏

实现一个函数,该函数将一个四位数的字符串作为其参数,每个数字从 1 到 9 并允许重复,返回一个计算结果为数字 24 的算术表达式(只允许使用 * / + – ())。如果不存在这样的解,则返回“没有解决方案”。

举例:solve24(“4878”) 输出 (7-8/8)*4。

正文完
post-qrcode
 0
三毛
版权声明:本站原创文章,由 三毛 于2024-07-29发表,共计546字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(2 条评论)
刘郎 评论达人 LV.1
2024-07-29 23:48:47 回复

可以用作小游戏开发上