Я могу помочь вам с проблемой «переключения лампочек» в JavaScript. Вот несколько методов, которые вы можете рассмотреть:
- Использование логических переменных. Вы можете представить состояние каждой лампочки, используя логические переменные. Первоначально инициализируйте все лампочки в положение «выкл.» (ложь). Затем для каждой операции переключения вы можете просто переключать состояние лампочек.
// Initialize all bulbs to "off"
let bulbs = Array(100).fill(false);
// Switching operation
function switchBulbs(n) {
for (let i = n - 1; i < bulbs.length; i += n) {
bulbs[i] = !bulbs[i];
}
}
- Использование массива. Вы можете использовать массив для представления состояния каждой лампочки. Первоначально установите все лампы в положение «выкл.» (0). Для каждой операции переключения выполните итерацию по массиву и переключите состояние лампочек в положениях, кратных номеру переключателя.
// Initialize all bulbs to "off"
let bulbs = Array(100).fill(0);
// Switching operation
function switchBulbs(n) {
for (let i = n - 1; i < bulbs.length; i += n) {
bulbs[i] = (bulbs[i] === 0) ? 1 : 0;
}
}
- Использование битовых манипуляций: вы можете использовать побитовые операции XOR для переключения состояния каждой лампочки. Первоначально инициализируйте все лампы в положение «выкл.» (0). Для каждой операции переключения выполните побитовую операцию XOR над состоянием лампочки.
// Initialize all bulbs to "off"
let bulbs = 0;
// Switching operation
function switchBulbs(n) {
for (let i = n - 1; i < 100; i += n) {
bulbs ^= (1 << i);
}
}
Это всего лишь несколько подходов к решению проблемы «переключения лампочки» в JavaScript. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.