我试过这个代码。它适用于可以被7整除为幸运数字的数字。但它对某些数字不起作用。我找不到我哪里弄错了。
for(i=1; i<=1000; i++)
{
var x = 7;
var y = i;
var z = y % x ;
if ( z == 0 )
{
document.write("Lucky Number" +"<br>");
i++;
}
var number = i;
var num = number.toString();
var matchedposition = num.search(["7"]);
if ( matchedposition == true )
{
document.write("Lucky Number" +"<br>");
i++;
}
document.write(i+"<br>");
} 发布于 2016-02-04 13:41:08
你可以试着这样做。
for(i=1; i<=1000; i++)
{
var z = i % 7 ;
if (( z == 0 ) &&( i.toString().search(7)))
{
console.log("Lucky Number"+ i +"<br>");
}
} 所以在这段代码中我做了两件事
1)我没有在每个If之后递增'i‘。因为如果您在每个if条件之后递增i,那么您将无法检查从1到1000的所有数字。所以当你的条件为真时,i加1,然后我再一次循环递增。因此,您正在转义一个要检查的数字。
2)我将这两个条件结合在一起以减少代码。
我希望它能帮助你
发布于 2016-02-04 13:15:58
尝试这个不确定:
for(i=1; i<=1000; i++)
{
var x = 7;
var y = i;
var z = y % x ;
var isFound=false;
if ( z == 0 )
{
document.write("Lucky Number" +"<br>");
isFound =true;
}
var number = i;
var num = number.toString();
var matchedposition = num.search("7");
if ( matchedposition > 0 && !isFound)
{
document.write("Lucky Number" +"<br>");
}
document.write(i+"<br>");
} https://stackoverflow.com/questions/35192908
复制相似问题