我正在玩在线测试以改进我的编码逻辑,我有一个测试,我需要创建一个棋盘样本,其中输入基本上是棋盘的行和列,然后生成问的输出,但我对我的解决方案不太满意,我想知道是否可以在没有临时变量的情况下输出相同的输出,例如将输入值存储在数组中并使用一些数组函数保持循环内部给我在for循环中的不同值。这是我的代码:
/*
Sample output:
0101010
1010101
0101010
1010101
*/
function chess(m, n) { //7,4
var zero = 0;
var um = 1;
var temp = 0;
for (var i = 0; i < n; i++) {
for (var r = 0; r < m; r++) {
if (temp === 1) {
document.write(um);
temp = 0;
}
else {
document.write(zero);
temp = 1;
}
}
document.write("<br>");
}
}
chess(7, 4);
答案 0 :(得分:1)
尝试
function chess(m,n){ //7,4
var zero = 0;
var um = 1;
var temp = 0;
for(var i = 0; i < n; i++){
for(var r = 0; r < m; r++){
if((i+r)%2 === 1){
document.write(um);
}else{
document.write(zero);
}
}
document.write("<br>");
}
}
chess(7,4);
&#13;
答案 1 :(得分:1)
您可以直接计算和打印。您不需要将其存储在任何变量中。
function chess(m,n){ //7,4
for(var i = 0; i < n; i++){
for(var r = 0; r < m; r++){
document.write((i+r)%2);
}
document.write("<br>");
}
}
chess(7,4);