使用 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
广告