001-枚舉問(wèn)題

1.求一個(gè)小于N 的最大素?cái)?shù)

N- k 是素?cái)?shù)的充分必要條件:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? N- K 不能被任何一個(gè)大于1尚蝌, 小于N-K 的素?cái)?shù)整除

問(wèn)題的轉(zhuǎn)換

? ? ? ? ? ? ? ? ? ? ? ? ? ? N-K 是否是素?cái)?shù) ----> 小于N-K 的全部素?cái)?shù)

枚舉解決辦法:

? ? ? 2? 是素?cái)?shù) ,記為 P0

? ? ? ? 根據(jù) p0,p1...pk 乱投,尋找比pk大的最小素?cái)?shù)p(k+1)

? ? ? ? 如果p(k+1) 大于N, 則PK 是我們需要找的素?cái)?shù) 代虾,否則, 繼續(xù)尋找

枚舉的本質(zhì): 從可能的集合中一一列舉各元素炕柔。

枚舉算法:

對(duì)問(wèn)題可能解集合 的每一項(xiàng)

? ? ? ? ? ? ? ? ? ? ? ? 根據(jù)問(wèn)題給定的檢驗(yàn)條件判定哪些是成立的

? ? ? ? ? ? ? ? ? ? ? ? 使條件成立的既是問(wèn)題的解


枚舉的過(guò)程:

- 判斷猜測(cè)的答案是否正確

---》 2是小于N的最大素?cái)?shù)嗎皿曲?

- 進(jìn)行新的猜測(cè):Dσ伞!有兩個(gè)重要的注意因素

? ? ? ? ? ? ? ? ? ? -? 猜測(cè)的結(jié)果必須是前面的猜測(cè)中沒(méi)有出現(xiàn)過(guò)的鞋怀, 每次猜測(cè)是素?cái)?shù)双泪,一定比已經(jīng)找到的素?cái)?shù)大

? ? ? ? ? ? ? ? ? - 猜測(cè)的過(guò)程中要及早排除錯(cuò)誤的答案 , 除2以外密似, 只有奇數(shù)才有可能是素?cái)?shù)焙矛。

### 熄燈問(wèn)題

1. 問(wèn)題描述

- 有一個(gè)由按鈕組成的矩陣, 其中每行有6個(gè)按鈕残腌,共5行村斟,

- 每個(gè)按鈕的位置上有一盞燈

- 每按下一個(gè)按鈕后贫导, 該按鈕以及周?chē)臒魰?huì)改變一次

- 狀態(tài): 熄滅/ 點(diǎn)亮

- !蟆盹!特殊情況:

? ? ? ? ? ? ? ? ? ? ? -在矩陣角上的按鈕改變3盞燈孩灯、

? ? ? ? ? ? ? ? ? ? ? - 矩陣邊上的按鈕改變4盞燈

? ? ? ? ? ? ? ? ? ? ? - 其他的按鈕改變5盞燈


2.題目分析

- 第2次按下同一個(gè)按鈕時(shí),將抵消第1次按下時(shí)產(chǎn)生的結(jié)果

- --》 每個(gè)按鈕最多只需要按一下

-? 每個(gè)按鈕被按下的順序?qū)ψ罱K的結(jié)果沒(méi)影響

- 對(duì)第1行中每盞點(diǎn)亮的燈逾滥,按下第二行對(duì)應(yīng)的按鈕峰档, 就可以熄滅第1行的全部燈

--- 第一種想法:

### 枚舉所有可能的按鈕狀態(tài), 對(duì)每個(gè)狀態(tài)計(jì)算一下最后燈的情況寨昙, 看是否都熄滅

- 每個(gè)按鈕:0/1

- 一共有30個(gè)開(kāi)關(guān)讥巡, 狀態(tài)數(shù)時(shí)2^30 ,會(huì)超時(shí)

------------------------

如何減少枚舉的狀態(tài)數(shù)目舔哪?

如果存在某個(gè)局部欢顷, 一旦這個(gè)局部的狀態(tài)被確定, 那么剩余其他部分的狀態(tài)只能是確定的一種捉蚤, 或者不多的n種吱涉, 那么只需枚舉這個(gè)布局的狀態(tài)即可.

** 第一行是這樣一個(gè)“局部”

- 因?yàn)榈谝恍械母鏖_(kāi)關(guān)狀態(tài)確定的情況下, 這些開(kāi)關(guān)作用過(guò)后外里, 將導(dǎo)致第一行某些燈是亮著的

- 要熄滅第一行某個(gè)亮著的燈, 那么唯一的辦法就是按下第二行的燈

--》 為了使第一行的燈全部熄滅特石,第二行的合理開(kāi)關(guān)狀態(tài)就是唯一的

--》 第二行開(kāi)關(guān)起作用后盅蝗, 第三行的開(kāi)關(guān)狀態(tài)也是唯一的

--》 最后一張的開(kāi)關(guān)也是唯一的

### 只要第一行的狀態(tài)定下來(lái),定為A 那么剩余行的情況就是確定唯一的

因此姆蘸, 要推算的是:

最后一行的所有燈起作用后墩莫, 最后一行的燈是否都熄滅,

- 如果是逞敷, 那么A是一個(gè)解的狀態(tài)

- 如果不是狂秦, 那么A 不是解的狀態(tài), 第1行換個(gè)狀態(tài)重新嘗試

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200310201818998.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjkxOTY1Nw==,size_16,color_FFFFFF,t_70)

2. 將按鈕矩陣的第一行的每個(gè)取值看作是一個(gè)二進(jìn)制數(shù)

3. 通過(guò)實(shí)現(xiàn)++ 操作實(shí)現(xiàn)

```

press[r+1][c] = (puzzle[r][c] + press[r][c-1] + press[r][c] + press[r][c+1] + press[r-1][c]) % 2;

```

````

#include <stdio.h>

int puzzle[6][8], press[6][8];

bool guess(){

int c,r;

for(r= 1; r< 5; r++)

for(c = 1; c<7; c++)

press[r+1][c] = (puzzle[r][c] + press[r][c-1] + press[r][c] + press[r][c+1] + press[r-1][c]) % 2;

for(c= 1; c<7; c++)

if((press[5][c-1] + press[5][c] + press[5][c+1] + press[4][c] % 2 != puzzle[5][c])// (1,1)? 0, (0,0)? 0

return false;

return true;

}

```

```

void enumerate()

{

int c;

bool success;

for(c = 1; c<7; c++)

press[1][c] = 0;

while (guess() == false){

press[1][1] ++;

c = 1;

//進(jìn)位操作

while (press[1][c] > 1){

press[1][c] = 0;

c++;

press[1][c] ++;

}

}

return ;

}

```

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末推捐,一起剝皮案震驚了整個(gè)濱河市裂问,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牛柒,老刑警劉巖堪簿,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異皮壁,居然都是意外死亡椭更,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)蛾魄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)虑瀑,“玉大人湿滓,你說(shuō)我怎么就攤上這事∩喙罚” “怎么了叽奥?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)把夸。 經(jīng)常有香客問(wèn)我而线,道長(zhǎng),這世上最難降的妖魔是什么恋日? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任膀篮,我火速辦了婚禮,結(jié)果婚禮上岂膳,老公的妹妹穿的比我還像新娘誓竿。我一直安慰自己,他們只是感情好谈截,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布筷屡。 她就那樣靜靜地躺著,像睡著了一般簸喂。 火紅的嫁衣襯著肌膚如雪毙死。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天喻鳄,我揣著相機(jī)與錄音扼倘,去河邊找鬼。 笑死除呵,一個(gè)胖子當(dāng)著我的面吹牛再菊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颜曾,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼纠拔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了泛豪?” 一聲冷哼從身側(cè)響起稠诲,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诡曙,沒(méi)想到半個(gè)月后吕粹,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岗仑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年匹耕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荠雕。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡稳其,死狀恐怖驶赏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情既鞠,我是刑警寧澤煤傍,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站嘱蛋,受9級(jí)特大地震影響蚯姆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洒敏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一龄恋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凶伙,春花似錦郭毕、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至傻挂,卻和暖如春乘碑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背金拒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工兽肤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人殖蚕。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沉迹,于是被迫代替她去往敵國(guó)和親睦疫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 選擇題部分 1.(),只有在發(fā)生短路事故時(shí)或者在負(fù)荷電流較大時(shí),變流器中才會(huì)有足夠的二次電流作為繼電保護(hù)跳閘之用鞭呕。...
    skystarwuwei閱讀 12,916評(píng)論 0 7
  • 在C語(yǔ)言中,五種基本數(shù)據(jù)類(lèi)型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來(lái)閱讀 3,342評(píng)論 0 2
  • 導(dǎo)語(yǔ): 如果你已經(jīng)加入了iOS攻城獅隊(duì)伍蛤育,那么我們由衷地祝賀您正式成為一名終身學(xué)習(xí)的程序猿;有人覺(jué)得這句話...
    超人猿閱讀 2,297評(píng)論 3 19
  • 高級(jí)鉗工應(yīng)知鑒定題庫(kù)(858題) ***單選題*** 1. 000003難易程度:較難知識(shí)范圍:相關(guān)4 01答案:...
    開(kāi)源時(shí)代閱讀 5,780評(píng)論 1 9
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,381評(píng)論 0 5