Здравствуйте. Только начал изучать JS, столкнулся с трудностями при выполнении следующего упражнения:
Напишите программу, создающую строку, содержащую решётку 8х8, в
которой линии разделяются символами новой строки. На каждой позиции
либо пробел, либо #. В результате должна получиться шахматная доска.
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
Когда справитесь, сделайте размер доски переменным, чтобы можно было
создавать доски любого размера.
На просторах этого форума нашел следующее решение:
var result = "\n";
for (var row = 1; row <= 8; row++) {
for (var cell = 1; cell <= 8; cell++) {
result += (row % 2 == cell % 2) ? "#" : " "; //Можно еще побитово - (row & 1 == cell & 1)
}
result += "\n";
}
console.log(result);
В целом, мне понятны все операции, однако никак не доходит result += (row % 2 == cell % 2) ? "#" : " ";. По идее, # или " " ставится в зависимости от false или true в выражении слева от ? , но я не могу понять, как получается false, если на каждой итерации цикла и row и cell принимают равные значения, а значит и остаток у них равный.
Прошу прощения за столько элементарный вопрос, но я правда не могу догнать
![Help](images/smilies/help.gif)