對於 N 位數猜數字最優策略的最大解決步數是多少?

時間 2021-05-31 11:33:38

1樓:nnnn123456789

這個規模肯定是不限制在10以內的,換句話說就像是讓你排列n個球一樣。要是限制在10內強行列舉也沒什麼可算的。

不知道能不能用比較好的表示式給出,先佔坑回頭試試。

10以內可以用計算機暴力解決,經過有限時間總能完成,所以說沒什麼好算的。超過十不一定會出現數字重複,比方說16進製制或者更高的。這裡我覺得應該是說,有n個不同的數,排列在一起。

如果不限制問題規模,就要設計乙個更好的演算法解決問題,是否有關於n的代數式,是否有關於n的公式,是否是np問題,要考慮的還是蠻多的。

2樓:jjw

n=1猜九次,第十次必中。

n=2,3

猜五次,第六次必中。

用夏農公式算的,求出輸出資訊熵,再用樣本空間的總資訊熵一除就得到結果,向上取整,就是所需要猜的次數,再加1,就是所求的解。

n=4複雜多了,沒算下去。

3樓:苗思藤

N位不重複數字,說明N小於等於10。既然問至少需要多少次才能猜出結果,那麼簡單列舉一下?

My attempt:

隨便先定乙個N,想乙個最優猜法,然後算猜多少次就不難了。

attempt2:

先隨便輸入乙個數,如果出來A,則不管那位,看剩下位,如果出來B,則保留那些數,再把既不是A也不是B的數換掉,再重新排列,提交第二次。

舉個例子:正確的數是3412

我們先猜7890,沒有輸出

再猜4356,得出 B1,B2,

我們就知道一定是1234的組合了,

再猜1234,得出B1234,

剩下的就交換位置,比如2143,依然是B1234,這樣我們便知第一第二位一定是34,所以就猜3421,最後猜3412,一共猜了6次。

我的直覺是N=4時6次一定能猜出來,因為這個猜法我們沒有浪費資訊,也沒有浪費每一次每一位猜測的機會。至於第一次猜到底return出來0個B還是1個,或者兩個,其實並無所謂,只是順序先後問題。另外,這個回答非常小學生,希望有大神補上更好的思路。

數獨卡住了 可是不想靠運氣猜數,怎麼解?

十二月夜 最近感覺腦子壞掉了,記性特別不好,所以想找個數獨來做做,看評價都說很難,我大概用了20min,寫完特別有成就感,本想分享一下自己的解題方法,結果我想了半天也沒想起來剛剛第乙個填的是哪個數果然我還是腦子不好,凌亂的紀念一下吧,我確實有自己的方法,但是是啥來著,我忘了,嗯 啊你就是葫蘆娃 感覺...

九位數的qq號是不是很好申請?

小鳥 對,真的很好申請。官方出的qq免費靚號我申請了很長時間都沒申請到,死心了。下面就告訴大家乙個很好用的方法,50 左右的概率能申請到9位數qq,我申請了4次申請到2個,分別是1開頭和9開頭。自己不喜歡又送了。方法如下。所有的步驟都按照正常方式來,最重要的一步就是 暱稱 注意,填暱稱的時候要填 馬...

怎樣程式設計計算n的每一位數字之和?

喵觀委執委會 這個問題看上去很業餘,大神們都用迴圈啊 模版啊,寫了各種語言的版本,附帶了各種 小夥子你還年輕 的眼光。還是有一些大神提出了好問題 2 8 16 10 哪個進製啊?啊,不禁讓我想起了早年玩過的各種二進位制演算法 如果是2 8 16進製制的話,是有高速演算法的。思想也很簡單 折半。32位...