
文章插圖
大家好,小豆豆來(lái)為大家解答以上的問(wèn)題 。猜數(shù)字游戲編程c語(yǔ)言程序流程圖,猜數(shù)字游戲這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
1、首先強(qiáng)烈譴責(zé)"帝之魔王"的抄襲行為這個(gè)問(wèn)題,研究一下的確蠻有意思,下面是我的想法,不一定能解決問(wèn)題,看可能可以給別人以啟發(fā).我主要研究的是<在最壞情況下最少幾次猜中 。
2、策略如何?>第一步,因?yàn)楦鱾€(gè)數(shù)都是一樣的,所以第一次輸入0123,現(xiàn)在輪到出題者,我相信沒(méi)人會(huì)給他A,頂多給他B,但是給他幾個(gè)B合理呢?0B,下次猜到B的期望E=4*4/6=8/31B,E=1*1/4+3*3/6=7/42B,E=2*2/4+2*2/6=5/33B,E=3*3/4+1*1/6=29/124B,E=4作為出題人,希望對(duì)手猜對(duì)B的期望為最小,所以,選擇給他2B.第二步,輸入4501,再次輪到出題者,現(xiàn)在問(wèn)題開(kāi)始復(fù)雜了.我覺(jué)得可以把4501分為兩部分,45和01,其中45是新的,按上題的方法繼續(xù)做,0B,E=2*2/4=1;1B,E=1*1/2+1*1/4=3/4;2B,E=2*2/2=2;所以出題者會(huì)在45中給1B.其實(shí)復(fù)雜的是01部分,因?yàn)樗婕暗紸的部分,我只能假設(shè),出題人在不得不給A時(shí)才給A這種情況,如果算期望的話,我已經(jīng)搞不清了,所以從簡(jiǎn)了 。
3、而且這假設(shè)我覺(jué)得不一定不合理.從給B部分,我們可以同樣按照開(kāi)始的思路0B,E=2*2/2=21B,E=1*1/2+1*1/2=12B,E=2*2/2=2所以01中會(huì)給一個(gè)B,現(xiàn)在猜題者知道的東西有0,1中有1個(gè);2,3中有一個(gè);4,5中有一個(gè);6,7,8,9中有一個(gè).綜上,第2步,出題者給的是0A2B.第三步,猜題者這一步,稍微聰明點(diǎn),從4組數(shù)中分別去4個(gè)數(shù),最起碼可以確定,3個(gè)數(shù)字.但是我們想,作為出題人,在6,7,8,9中,如果是一個(gè)數(shù)一個(gè)數(shù)猜,他肯定,會(huì)將最后一次猜的設(shè)為正確的以增加你猜題次數(shù),也就是說(shuō),即使你從現(xiàn)在起,4步后,將6,7,8,9中正確數(shù)字的位置確定下來(lái),也需要4步才能,將4個(gè)數(shù)字都確定.所以這種假設(shè)下,最少需要猜加上前面的兩步,共6步.如果第三步猜2046.出題人可以不給A就不給A的前提下,理智出題者給的應(yīng)該是,0A1B為什么給1B不給0B呢,如果給0B,那么,猜題人就知道前三組數(shù)字中1,3,5是必對(duì)了,除了在確定A是比3B有優(yōu)勢(shì),其他地方?jīng)]優(yōu)勢(shì).而給1B而不給2B的原因也就在于,確定A的時(shí)候1B比2B更有優(yōu)勢(shì)(猜題者更難猜)這樣對(duì)猜題者來(lái)說(shuō),是很麻煩的,因?yàn)?他不知道1B是哪個(gè),這次作答幾乎對(duì)確定B沒(méi)有任何貢獻(xiàn),所以,猜題者不應(yīng)該出這些數(shù)字.如果前三組數(shù)字只出現(xiàn)1個(gè),那么不僅可以唯一確定這個(gè)數(shù)字所在組的B,而且對(duì)6,7,8,9中選B也有積極意義現(xiàn)在總猜題情況為0123,4501所以第三步,出6078.問(wèn)題越來(lái)越復(fù)雜了,對(duì)于0可以給B也可以不給,對(duì)于6,7,8可以給B也可以不給,0B,1,9肯定是B;2B,1肯定是B,而且6,7,8之間肯定有B,但如果給1B,猜題折還需要猜測(cè),這個(gè)B來(lái)自哪里,增加了猜題難度,所以出題者給0A1B.第四步,現(xiàn)在總猜題情況為0123,4501,6078.后面在像前面一樣分析,我已經(jīng)吃不消了,我就說(shuō)我的猜題策略吧.第四步7890如果第三步中,B是0的話,那么,出題者該給答案1A1B(沿著這個(gè)假設(shè),往下,總猜題情況為0123,4501,6078,7890.現(xiàn)在知道的是0位置已經(jīng)確定,9確定為B.第五步9240,如果9位置對(duì)了,那么,如果給2A0B那么結(jié)果必然是9350.如果給2A1B結(jié)果必然是9430,如果給3A0B,結(jié)果可能是9250和9340也需要兩步,最不好的情況就是要7步;如果9位置沒(méi)對(duì),我相信,在兩步也能解出來(lái).)只考慮這中情況,出題人就可以將你的步數(shù)限制到最少7步如果第三步中,B是6,7,8中的一個(gè),那么,0肯定不是B了,1肯定是B,而出題者只用考慮B是在7,8中,還是6,很顯然,出題者會(huì)讓B在7,8中,所以給的答案是0A1B.總猜題情況為0123,4501,6078,7890第五步8215,出題者0A2B第六步5381,出題者1A0B===>2741,1A2B===>3751,57312A1B===>34813A0B===>4381.只有這四種情況,是由于受到前面的限制.這中結(jié)果也需要7步我不保證自己證明的都很?chē)?yán)密,但作為一個(gè)解題者,我的感覺(jué)是,解這個(gè)題目可以步數(shù)更少些(雖然我也不知道能不能再少),如果有人能以更少的步數(shù)解出,我也會(huì)崇拜之,但如果說(shuō)解這題目要比七步多,我就不同意了,我是完全站在出題者的立場(chǎng),為難猜題者的思路的假設(shè)下去,這也是最糟糕的情況,這也應(yīng)該是步數(shù)最多的情況,如果哪里不清楚可以問(wèn)我,或者你認(rèn)為自己可以讓我7步內(nèi)猜不出,可以找我試試 。
【猜數(shù)字游戲 猜數(shù)字游戲編程c語(yǔ)言程序流程圖】本文到此分享完畢,希望對(duì)大家有所幫助 。
- 怎么看游戲攻略
- 阿拉伯?dāng)?shù)字1 2 3 4 5 6 7 8 9 0 10 12 的羅馬數(shù)字怎么寫(xiě) 阿拉伯?dāng)?shù)字古羅馬對(duì)應(yīng)符號(hào)
- 相逢何必曾相識(shí)打一成語(yǔ) 相逢何必曾相識(shí),猜成語(yǔ)
- 手機(jī)游戲廠商 大型手游廠商
- 祝福的鐘聲-2009年Windmill Oasis發(fā)行的角色扮演游戲簡(jiǎn)介 祝福的鐘聲是什么番劇
- 命運(yùn)守護(hù)夜前傳 命運(yùn)守護(hù)夜游戲結(jié)局
- 忘情水是誰(shuí)給的 忘情水是誰(shuí)給的打三個(gè)數(shù)字
- 猜心之人心可畏 猜心之人心可畏什么意思
- 數(shù)字電視自動(dòng)搜索后無(wú)節(jié)目顯示
- nds十大最經(jīng)典的游戲
