Vấn đề
Giả sử một trường tổ chức trò chơi này vào ngày hội trường:
Có “n” vòi nước và “n” học sinh được chọn ngẫu nhiên. Giáo viên yêu cầu học sinh đầu tiên đi đến mỗi vòi và mở nó. Sau đó, học sinh thứ hai đi đến mỗi vòi thứ hai và đóng nó. Học sinh thứ ba đi đến mỗi vòi thứ ba, nếu nó đóng thì mở, nếu mở thì đóng. Học sinh thứ tư làm tương tự với mỗi vòi thứ tư, và cứ thế. Sau khi quá trình hoàn tất với học sinh thứ “n”, bao nhiêu vòi nước đang mở?
Chúng ta cần viết một hàm JavaScript nhận vào số n và trả về số vòi nước mở.
Ví dụ
Dưới đây là mã:
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));
Kết quả
7