我想输出包含" 7"的数字。作为LUCKY NUMBER和可以被7分配为LUCKY NUMBER的数字

时间:2016-02-04 05:06:41

标签: javascript

我试过这段代码。它适用于可以被7作为幸运数字均分的数字。但它对一些数字并不起作用。我无法找到我犯错误的地方。

   function getMysers(){
        var promise = getUsersRegister(teamId);
    promise.then(friendsService.myFriends.query({},function(data){ 
    var users = data;
        }));
   }

   function getUsersRegister(teamId){
       var q = $q.defer(); 

       teamService.fetchData(function(data){
            q.resolve(data);
         var results = data;
        });
        return q.promise;
    }

2 个答案:

答案 0 :(得分:0)

你可以这样试试。

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)我将两个条件组合在一起以减少代码。

我希望它能帮到你

答案 1 :(得分:-1)

尝试这个不确定:

  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>");

                }