使用 JavaScript 找出在 n 次机会后打开的水龙头数量


问题

假设一所学校在他们的周年庆祝活动上组织此游戏 −

有“n”个水龙头和“n”个学生被随机选中。指导员要求第一个学生去每一个龙头那里打开它。然后他让第二个学生每隔一个龙头就关掉它。第三个去每一个第三个龙头,如果它关闭了,他打开它,如果它打开了,他关闭它。第四个学生对每四个龙头做这件事,以此类推。在与第“n”个学生完成此过程后,有多少个龙头被打开?

我们需要编写一个 JavaScript 函数,输入数字 n,然后返回打开的水龙头数量。

范例

以下为代码 −

 在线示例

const num = 15;
const openTaps = (num = 1) => {
   const arr = [];
   let index = 1;
   while(index ** 2 <= num){
      arr.push(index++ ** 2);
   };
   return arr.length;
};
console.log(openTaps(num));

输出

7

更新于: 19-Apr-2021

59 查看

开启您的职业生涯

通过完成课程,获得认证

开始
广告