zoukankan      html  css  js  c++  java
  • 新鲜出炉的百度js面试题

     (文章是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com)

    最近两位同学入职百度,带回来的笔试题基本上毫无悬念,不过有一个小题看到让人忍不住笑出声来,真的很无聊哦,一起来看看吧。

    有编号1-100的房间,每个房间都有一扇门,刚开始都是关着的。有编号1-100的人,每个人依次路过每个房间,如果房间号能整除他的编号,就把门的状态改变一下(关的的就打开,打开的就关上)。问最后哪些门是开着的。
    开:1,关-1

    代码其实超级简单,

    var a=[];
    for(i=1;i<=100;i++)
    {a[i]=-1;}
    for(var i=1;i<=100;i++)
    {for(var j=1; j<=100; j++)
    {if(i%j==0){a[i]*=-1;}
    }
    }
    var re=[];
    for(var i=1; i<=100; i++){
    if(a[i]==1){
    re.push(i);
    }
    }
    alert(re);

    不过咱们可以稍微写的大气一点,用上自定义属性就有点高端的味道

    var doors=[];
    function Door(idx){
    this.state=-1;
    this.idx=idx;
    }

    for(var i=0; i<100; i++){
    doors.push(new Door(i+1));
    }

    for(var i=1; i<=100; i++){
    for(var j=0; j<100; j++){
    if(doors[j].idx%i==0){
    doors[j].state*=-1;
    }
    }
    }

    var result=[];
    for(var i=0; i<100; i++){
    if(doors[i].state==1){
    result.push(doors[i].idx);
    }
    }

    //console.log(result);
    alert(result);

  • 相关阅读:
    bzoj2243: [SDOI2011]染色
    bzoj4538: [Hnoi2016]网络
    bzoj 1004
    数论小结2.
    数论小结1.
    Catalan Number
    uva 11645
    uva 01510
    redis cluster介绍
    搭建redis-sentinel(哨兵机制)集群
  • 原文地址:https://www.cnblogs.com/iwangzheng/p/3578016.html
Copyright © 2011-2022 走看看