我試圖找到使用最少步數找到1-100之間的一個隨機數的最佳算法。您可以使用函數guess(n)
來猜測數字n,並且您將收到布爾響應true或false。如果答案是錯誤的,答案將總是小於您輸入函數的猜測;如果答案是真的,那麼它需要更大或者猜測本身。找到一個隨機數的算法
1
A
回答
2
基本思路:
先猜(50)。根據答案,猜(25)或猜(75)。
0
如果你可以判斷你的猜測是大於還是小於隨機數,那麼Binary Search是你的朋友。如果只能告訴數字是否匹配,我會從中間值(50.5)開始交替線性搜索,即從50到1和從51到100(50,51,49,52 ...) 。
相關問題
- 1. 隨機數算法
- 2. 隨機數的算法
- 3. 算法分析:隨機數
- 4. 「平滑」隨機數算法
- 5. 生成一個隨機數得到一個隨機列表項
- 6. 在訪問找到一個隨機記錄(真隨機)
- 7. 隨機性算法
- 8. 隨機組算法
- 9. 算法:根據總數挑選一個隨機數
- 10. 找到一個算法
- 11. 找到一個算法
- 12. 在lua中查找一個隨機數
- 13. 優先於一端的隨機算法
- 14. 隨機Prim的算法
- 15. 獨特的隨機數算法
- 16. 在Excel中計算一個靜態隨機數(計算一次)
- 17. 找到一個整數的隨機時間
- 18. 計算隨機數
- 19. 選擇一個隨機子集的一般算法實現
- 20. 算法找到跟隨Twitter等
- 21. 找到隨機數的最大值
- 22. 試圖找到一個完全隨機數字發生器
- 23. 尋找隨機數
- 24. 隨機數生成/哪種算法?
- 25. TI-84 +隨機數生成算法
- 26. 數組隨機乘法運算
- 27. 隨機數發生器和圖算法
- 28. 隨機數發生器算法
- 29. 在Xorshift隨機數生成算法
- 30. 找到一個簡單的算法
你是什麼意思查找?你如何確定哪一半是不相關的? – Howard 2011-05-22 10:23:14
你的意思是binarysearch? http://en.wikipedia.org/wiki/Binary_search_algorithm – 2011-05-22 10:26:20
@howard,這樣你就可以知道它是不是在某一點的數字,它總是會是答案將少於猜測的數字。請參閱上面的編輯。 – locoboy 2011-05-22 10:27:41