我正在尝试做一些简单的测试来帮助进一步了解我的 javascript 知识(这很新鲜)。目标 1 是打印 1-100 之间不能被 5 或 3 整除的数字。
我尝试了以下方法:
for (var i = 1; i <= 100; i ++)
{
if (i%3 !== 0 || i%5 !== 0){
console.log(i);
}
}
这记录了 1-100 的每个数字,我不知道为什么。可能是这里最简单的问题,但它让我费尽心思!
最佳答案
我认为你的意思是&&
,而不是||
。使用 ||
,您基本上是在测试该数字是否不能被 3 或 5 整除 - 只有当一个数字可以被两者整除时您才拒绝它(换句话说,15 的倍数).
对 FizzBuzz 的典型回答是:
if( i%3 == 0 && i%5 == 0) FizzBuzz
elseif( i % 3 == 0) Fizz
elseif( i % 5 == 0) Buzz
else number
因此,要直接获得您需要的数字,i%3==0
为假且 i%5==0
为假。因此,您需要 if( i%3 !== 0 && i%5 !== 0)
关于Javascript Fizzbuzz 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736690/