我正在学习JavaScript,我正在制作一个有趣的网页。在网页中,我想制作一个脚本,写入数字1到80,在这些数字中写入text1为3的倍数,5的写入文本2的倍数和3和5的倍数写入15。
请告诉我如何去做这件事?
由于
编辑:
是的我有一个我正在玩的脚本,但无法让它工作:
function myFunction()
{
var x="";
for (var i=1;i<81;i++)
{
x=x + i + "<br>";
}
document.getElementById("Eighty").innerHTML=x;
if (i=i*3)
{
x="text";
}
document.getElementById("Eighty").innerHTML=x;
}
}
答案 0 :(得分:1)
您的问题实际上是Fizz Buzz test。找出倍数通常是通过找到余数来完成的。请记住:
nominator / denominator = quotient + (remainder / denominator)
examples:
2 / 2 = 1 + ( 0 / 2 )
3 / 2 = 1 + ( 1 / 2 )
4 / 2 = 2 + ( 0 / 2 )
模数运算符定义为查找余数:
nominator mod denominator = remainder
from the examples above:
2 mod 2 = 0
3 mod 2 = 1
4 mod 2 = 0
请注意, 2的倍数的余数为0 。同样的事情还有3:
1 mod 3 = 1 -- 1 / 3 = 0 + ( 1 / 3 )
2 mod 3 = 2 -- 2 / 3 = 0 + ( 2 / 3 )
3 mod 3 = 0 -- 3 / 3 = 1 + ( 0 / 3 )
4 mod 3 = 1 -- 4 / 3 = 1 + ( 1 / 3 )
5 mod 3 = 2 -- 5 / 3 = 1 + ( 2 / 3 )
6 mod 3 = 0 -- 6 / 3 = 2 + ( 0 / 3 )
在Javascript中查找多个元素的最简单方法是使用remainder (modulus) operator:
0 % 2; // = 0
1 % 2; // = 1
2 % 2; // = 0 because 2 is divisible with 2
3 % 2; // = 1
4 % 2; // = 0 because 4 is divisible with 2
如果使用运算符查找余数,则可以对3和5执行相同操作。如果结果为0则它可以被整除,因此是所讨论数字的倍数。
像往常一样;重复使用for-loop的一组整数,然后使用if-statements控制循环内的流程。答案 1 :(得分:0)
您可以使用模数运算符%
检查数字是否可被其他数字整除。
c = a % b;
此运算符返回除法a / b
的余数。如果该余数为零,则a
是b
的倍数。
答案 2 :(得分:0)
如果我理解你的要求,我认为你正在寻找这样的事情:
function myFunction(){
var x="";
for (var i=1;i<81;i++){
var a = '';
if (i%3 == 0 && i%5 != 0) a="text1";
else if (i%5 != 0 && i%5 == 0) a="text2";
else if (i%3 == 0 && i%5 == 0) a="text3";
x=(a == '')? (x + i + "<br>"): (x + a + "<br>");
}
document.getElementById("Eighty").innerHTML=x;
}
请告诉我。