作者loveyoualway (疯子)
看板java
标题[问题] 猜数字逻辑
时间Tue Jul 3 22:01:01 2012
题目 有 1 2 3 4 5个数字
猜4个数字(可重复)
例如 谜底 2245
玩家猜 2151 =>1A(位置对数字对)1B(位置错但是数字对)
推论直到达到答案,以最快最有效率猜测方式是?(排除运气)
有人有一套猜测逻辑或公式吗 需在最少次数内猜对(5~8次)
麻烦帮帮忙 想很久 归纳不出来
谢谢大大
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.29.117
1F:推 LaPass:ptt的游乐场里也有XD 另,数字重复的话A跟B的数目怎麽判断? 07/03 22:54
2F:→ s3748679:取交集 -> 去除重复元素 -> 反查位置 -> 统计ab 这样呢? 07/03 23:38
3F:→ s3748679:喔喔... 是猜测逻辑..... 拍谢 07/03 23:39
4F:→ gwokae:前阵子才用bash重写了,不过只有写两个字串重复与位置 07/04 00:40
6F:→ gwokae:原来是要做猜的AI,我错了不要理我 Orz... 07/04 00:46
8F:推 LaPass:我看不懂楼上那种写法.... 请问怎麽看懂? 关键字是....? 07/04 00:57
9F:→ s3748679:PS: 只有比对的部分^^" , AI的部分只有想到筛选法.. 07/04 00:58
10F:推 if4:先用排列组合制作一个文字档(猜文字)这是题库,猜的时候用消去 07/04 00:59
11F:→ if4:法去掉不正确的答案,这样猜,电脑比较有效率... 07/04 01:01
12F:→ s3748679:回L大... 这是凭直觉下去写的,不专业的.. orz... 07/04 01:01
13F:→ s3748679:步骤1、2、3都分成 "如何算" 和 "代入後的过程与结果" 07/04 01:06
14F:→ s3748679:另外#字号是指集合中元素个数 ex: #{1,2,5} = 3 07/04 01:08
15F:→ s3748679:大概就这样吧~ (搔头^^" 07/04 01:10
16F:→ s3748679:那个.. 能请教下虚拟码要怎写会比较好 (小声 囧" 07/04 01:19
17F:推 LaPass:不好意思,我也没学过虚拟码 XD 07/04 07:58
19F:推 PsMonkey:这个在 Javaworld@tw 已经在 n 年前结案了 XD 07/04 09:07
21F:推 LaPass:不偷看解答自己写一个出来会比较好玩 =w= 07/04 09:49
22F:→ LaPass:虽然写一阵子後都知道,最快速的解法是google去找方法.... 07/04 09:51