function final(param1, param2, param3, param4) {
while (param2 <= param3) {
if (param2 % param1 === 0) {
console.log(param2);
} else if (param2 % param1 === param4) {
break;
}
param2++;
}
}
final(3, 5, 17, 9);
我在这里有点挣扎,基本上,如果param2
和param1
的倍数等于param4
,您应该忽略它。但这继续打印出9
吗?我的代码有什么问题?我不知道这个。谢谢!
答案 0 :(得分:1)
问题在于,当param4为param2 % param1
时,0
仍将是9
。
如果稍微更改代码逻辑,您可以从另一个角度看到差异:
function final(param1, param2, param3, param4) {
for (var loop = param2; loop <= param3; loop++) {
if (loop % param1 === 0) {
if (loop === param4) continue;
console.log(loop);
}
}
}
final(3, 5, 17, 9);
答案 1 :(得分:0)
很明显,如果param2 === param4,则应该忽略。
function final(param1, param2, param3, param4) {
while (param2 <= param3) {
if (param2 % param1 === 0 && param2 !== param4) {
console.log(param2)
} else if (param2 % param1 === param4) {
break;
}
param2++;
}
}
final(3, 5, 17, 9);