cari
Rumahpembangunan bahagian belakangtutorial php面试题一,面试题_PHP教程
面试题一,面试题_PHP教程Jul 13, 2016 am 09:44 AM
satusatu kalitulisblogmulakankebanyakannyadaripadasoalan ujian

面试题一,面试题

最近在网上看见一道面试题,随手做了一下,也作为我开始写博客的第一篇开始。

因为我最近在学习PHP,所以我就用PHP来解决它,不过天下语言是一家,其他的语言也可参照思想。题目比较简单,如下:

 

  大厅里有100盏灯,每盏灯都编了号码,分别为1-100。每盏灯由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。
  第一次,将所有的灯点亮。
  第二次,将所有2的倍数的开关按一下。
  第三次,将所有3的倍数的开关按一下。
  以此类推。第N次,将所有N的倍数的开关按一下。
  问第100次按完以后,大厅里还有几盏灯是亮的。

方法如 下:

<span> 1</span> <?<span>php
</span><span> 2</span> 
<span> 3</span>     <span>//</span><span>totle:总共的灯盏数,times:按动开关的次数</span>
<span> 4</span>     <span>function</span> switchLight(<span>$totle</span>,<span>$times</span><span>){
</span><span> 5</span>         <span>//</span><span>定义开关打开和关闭的状态属性</span>
<span> 6</span>             <span>$on</span>=1<span>;
</span><span> 7</span>             <span>$off</span>=-1<span>;
</span><span> 8</span>         <span>//</span><span>定义一个按动开关的动作</span>
<span> 9</span>             <span>$oc</span>=-1<span>;
</span><span>10</span>         <span>//</span><span>建立一个数组,动态存储灯盏数目,并初始化状态</span>
<span>11</span>             <span>$lights</span>=<span>array</span><span>();
</span><span>12</span>             <span>for</span>(<span>$i</span>=1;<span>$i</span><=<span>$totle</span>;<span>$i</span>++<span>){
</span><span>13</span>                 <span>$lights</span>[<span>$i</span>]=<span>$off</span><span>;
</span><span>14</span> <span>            }
</span><span>15</span>         <span>//</span><span>判断没有按动开关的情况</span>
<span>16</span>         <span>if</span>(<span>$times</span>==0<span>){
</span><span>17</span>             <span>return</span> 0<span>;
</span><span>18</span> <span>        }
</span><span>19</span>         <span>//</span><span>循环判断,并按动开关</span>
<span>20</span>         <span>for</span>(<span>$j</span>=1;<span>$j</span><=<span>$times</span>;<span>$j</span>++<span>){
</span><span>21</span>             <span>for</span>(<span>$k</span>=1;<span>$k</span><=<span>$totle</span>;<span>$k</span>++<span>){
</span><span>22</span>                 <span>if</span>(!(<span>$k</span>%<span>$j</span><span>))
</span><span>23</span>                     <span>$lights</span>[<span>$k</span>]*=<span>$oc</span><span>;
</span><span>24</span> <span>            }    
</span><span>25</span> <span>        }
</span><span>26</span>         <span>//</span><span>遍历出所有为on的灯,并存入新数组</span>
<span>27</span>         <span>$newLights</span>=<span>array</span><span>();
</span><span>28</span>         <span>for</span>(<span>$r</span>=1;<span>$r</span><=<span>$totle</span>;<span>$r</span>++<span>){
</span><span>29</span>             <span>if</span>(<span>$lights</span>[<span>$r</span>]==<span>$on</span><span>){
</span><span>30</span>                 <span>$newLights</span>[]=<span>$r</span><span>;
</span><span>31</span> <span>            }
</span><span>32</span> <span>        }
</span><span>33</span>         <span>return</span> <span>$newLights</span><span>;
</span><span>34</span>          
<span>35</span> <span>    }
</span><span>36</span>     
<span>37</span>     <span>$newLights</span>=switchLight(100,100<span>);
</span><span>38</span>     <span>echo</span> "结果有".<span>count</span>(<span>$newLights</span>)."盏灯亮,具体如下:"<span>;
</span><span>39</span>     <span>foreach</span>(<span>$newLights</span> <span>as</span> <span>$light</span><span>){
</span><span>40</span>         <span>echo</span> <span>$light</span><span>;
</span><span>41</span>         <span>echo</span> "\n"<span>;
</span><span>42</span> <span>    }
</span><span>43</span> ?>

 

  有更好的方法,会后续更新。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1051221.htmlTechArticle面试题一,面试题 最近在网上看见一道面试题,随手做了一下,也作为我开始写博客的第一篇开始。 因为我最近在学习PHP,所以我就用P...
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式)如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式)Dec 31, 2023 pm 05:15 PM

技嘉的主板怎么设置键盘开机首先,要支持键盘开机,一定是PS2键盘!!设置步骤如下:第一步:开机按Del或者F2进入bios,到bios的Advanced(高级)模式普通主板默认进入主板的EZ(简易)模式,需要按F7切换到高级模式,ROG系列主板默认进入bios的高级模式(我们用简体中文来示范)第二步:选择到——【高级】——【高级电源管理(APM)】第三步:找到选项【由PS2键盘唤醒】第四步:这个选项默认是Disabled(关闭)的,下拉之后可以看到三种不同的设置选择,分别是按【空格键】开机、按组

从头开始,逐步指导您安装Flask,快速建立个人博客从头开始,逐步指导您安装Flask,快速建立个人博客Feb 19, 2024 pm 04:01 PM

从零开始,手把手教你安装Flask和快速搭建个人博客作为一个喜欢写作的人来说,拥有一个个人博客是非常重要的。而Flask作为一个轻量级的PythonWeb框架,可以帮助我们快速搭建一个简洁而功能完善的个人博客。在本文中,我将从零开始,手把手教你如何安装Flask并快速搭建个人博客。第一步:安装Python和pip在开始之前,我们需要先安装Python和pi

2022年十大开源php博客系统有哪些?【推荐】2022年十大开源php博客系统有哪些?【推荐】Jul 27, 2022 pm 05:38 PM

博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。那么怎么搭建博客?PHP博客系统有哪些?哪个博客系统好用?下面PHP中文网就来给大家总结分享十大开源php博客系统,一起来看看吧!

创建一个简单的博客:使用PHP和SQLite创建一个简单的博客:使用PHP和SQLiteJun 21, 2023 pm 01:23 PM

随着互联网的发展,博客成为越来越多人分享自己生活、知识和想法的平台。如果你也想创建一个自己的博客,那么本文将介绍如何使用PHP和SQLite来创建一个简单的博客。确定需求在开始创建博客之前,我们需要确定自己想要实现的功能。例如:创建博客文章编辑博客文章删除博客文章显示博客文章列表显示博客文章详情用户认证和权限控制安装PHP和SQLite我们需要安装PHP和S

使用Python Django框架构建博客网站使用Python Django框架构建博客网站Jun 17, 2023 pm 03:37 PM

随着互联网的普及,博客在信息传播和交流方面扮演着越来越重要的角色。在此背景下,越来越多的人开始构建自己的博客网站。本文将介绍如何使用PythonDjango框架来构建自己的博客网站。一、PythonDjango框架简介PythonDjango是一个免费的开源Web框架,可用于快速开发Web应用程序。该框架为开发人员提供了强大的工具,可帮助他们构建功能丰

最佳显卡驱动版本是什么?(哪个显卡驱动版本最好用)最佳显卡驱动版本是什么?(哪个显卡驱动版本最好用)Jan 10, 2024 pm 11:13 PM

哪个版本的显卡驱动最好用1、没有绝对的最好版本,选择适合自己电脑的版本最重要;2、因为显卡驱动版本的适用性和稳定性与电脑硬件环境和系统的配置有关;3、可以在官网查看电脑和显卡的详细信息,根据信息选择适合的驱动版本,也可以参考其他用户的评价选择。建议在安装驱动之前备份系统,以免出现意外情况。显卡驱动版本472.19系列是非常出色的选择。目前,472版本的驱动兼容性是最优秀的。安装472版本的驱动也能够使显卡发挥出最佳性能。NVIDIA显卡驱动Win7安装版,编号为2、472.19,是一款质量显著的

Java编程实现在线考试系统中的试题随机抽取Java编程实现在线考试系统中的试题随机抽取Sep 25, 2023 am 11:36 AM

Java编程实现在线考试系统中的试题随机抽取,需要具体代码示例在现代教育中,利用网络进行在线考试已经成为常见的考试方式之一。为了保证考试的公平性和有效性,考试系统需要能够随机抽取试题。本文将介绍如何利用Java编程实现在线考试系统中的试题随机抽取,并提供具体的代码示例。首先,我们需要准备试题数据。假设我们已经拥有一个试题库,试题库中包含了多个试题,每个试题有

如何使用PHP创建一个简单的博客如何使用PHP创建一个简单的博客Sep 24, 2023 am 08:25 AM

如何使用PHP创建一个简单的博客1.引言随着互联网的快速发展,博客已经成为了人们分享经验、记录生活和表达观点的一种重要方式。本文将介绍如何使用PHP来创建一个简单的博客,并附上具体的代码示例。2.准备工作在开始之前,你需要具备以下开发环境:一台安装了PHP解释器和Web服务器(如Apache)的计算机一个数据库管理系统,如MySQL一个文本编辑器或者IDE3

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular