新聞中心
申明:這是在看到園子里兩個(gè)帖子關(guān)于兩道面試編程題之后個(gè)人的一點(diǎn)想法

創(chuàng)新互聯(lián)專注于汨羅網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供汨羅營(yíng)銷型網(wǎng)站建設(shè),汨羅網(wǎng)站制作、汨羅網(wǎng)頁設(shè)計(jì)、汨羅網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造汨羅網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供汨羅網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
面試題一:
大廳里有100盞燈,每盞燈都編了號(hào)碼,分別為1-100。每盞燈由一個(gè)開關(guān)來控制。(開關(guān)按一下,燈亮,再按一下燈滅。開關(guān)的編號(hào)與被控制的燈相同。)開始時(shí),燈是全滅的?,F(xiàn)在按照以下規(guī)則按動(dòng)開關(guān)。
***次,將所有的燈點(diǎn)亮。
第二次,將所有2的倍數(shù)的開關(guān)按一下。
第三次,將所有3的倍數(shù)的開關(guān)按一下。
以此類推。第N次,將所有N的倍數(shù)的開關(guān)按一下。
問第100次按完以后,大廳里還有幾盞燈是亮的。
看到這道題后我馬上想怎樣編程去實(shí)現(xiàn)這個(gè)問題
這道題不復(fù)雜很快我就想到一個(gè)實(shí)現(xiàn)的辦法,首先我寫了一個(gè)winform程序,界面用來展示各個(gè)燈***的狀態(tài)
***版的代碼如下
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
以下是運(yùn)行結(jié)果
所以這就完了? 當(dāng)然不是,然后我想到如果燈的數(shù)量跟要操作的次數(shù)是可變的呢,然后我開始重構(gòu)這個(gè)方法,把可變的參數(shù)提取出來作為方法參數(shù)
修改后的代碼如下
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
下面是運(yùn)行界面跟結(jié)果
看過《大話設(shè)計(jì)模式》的同學(xué)都知道到這里肯定沒完,比果我要實(shí)現(xiàn)2的倍數(shù)亮,3的倍數(shù)不亮怎么辦呢?
下面的留給各位自己想象去吧
分享標(biāo)題:一道面試題引發(fā)的關(guān)于程序設(shè)計(jì)的想法
本文鏈接:http://m.fisionsoft.com.cn/article/dpiphsj.html


咨詢
建站咨詢
