国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

面試題一

2019-11-14 14:48:04
字體:
來源:轉載
供稿:網友

最近在網上看見一道面試題,隨手做了一下,也作為我開始寫博客的第一篇開始。

因為我最近在學習php,所以我就用PHP來解決它,不過天下語言是一家,其他的語言也可參照思想。題目比較簡單,如下:

 

  大廳里有100盞燈,每盞燈都編了號碼,分別為1-100。每盞燈由一個開關來控制。(開關按一下,燈亮,再按一下燈滅。開關的編號與被控制的燈相同。)開始時,燈是全滅的。現在按照以下規則按動開關。
  第一次,將所有的燈點亮。
  第二次,將所有2的倍數的開關按一下。
  第三次,將所有3的倍數的開關按一下。
  以此類推。第N次,將所有N的倍數的開關按一下。
  問第100次按完以后,大廳里還有幾盞燈是亮的。

方法如 下:

 1 <?php 2  3     //totle:總共的燈盞數,times:按動開關的次數 4     function switchLight($totle,$times){ 5         //定義開關打開和關閉的狀態屬性 6             $on=1; 7             $off=-1; 8         //定義一個按動開關的動作 9             $oc=-1;10         //建立一個數組,動態存儲燈盞數目,并初始化狀態11             $lights=array();12             for($i=1;$i<=$totle;$i++){13                 $lights[$i]=$off;14             }15         //判斷沒有按動開關的情況16         if($times==0){17             return 0;18         }19         //循環判斷,并按動開關20         for($j=1;$j<=$times;$j++){21             for($k=1;$k<=$totle;$k++){22                 if(!($k%$j))23                     $lights[$k]*=$oc;24             }    25         }26         //遍歷出所有為on的燈,并存入新數組27         $newLights=array();28         for($r=1;$r<=$totle;$r++){29             if($lights[$r]==$on){30                 $newLights[]=$r;31             }32         }33         return $newLights;34          35     }36     37     $newLights=switchLight(100,100);38     echo "結果有".count($newLights)."盞燈亮,具體如下:";39     foreach($newLights as $light){40         echo $light;41         echo "/n";42     }43 ?>

 

  有更好的方法,會后續更新。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娱乐| 云安县| 蓬莱市| 湖州市| 瑞丽市| 淮安市| 兴国县| 密云县| 山东省| 象州县| 洛南县| 南溪县| 德安县| 綦江县| 灵台县| 开平市| 海林市| 屏东市| 雅江县| 诏安县| 绵竹市| 武乡县| 宣恩县| 屏南县| 通江县| 甘孜| 浪卡子县| 长泰县| 通州区| 安康市| 黄骅市| 前郭尔| 桑日县| 张家界市| 错那县| 民和| 错那县| 吉首市| 马关县| 新宾| 罗甸县|