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

编程 · 07-29 · 246 人浏览

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。

JavaScript
  1. 刘郎 07-29

    可以用作小游戏开发上

    1. 三毛 (作者)  07-30
      @刘郎

      确实可以哈

Theme Jasmine by Kent Liao