找回密码
 立即注册
搜索
总共850条微博

动态微博

查看: 991|回复: 3
打印 上一主题 下一主题
收起左侧

一副奇怪的扑克牌

[复制链接]

456

主题

1770

帖子

2万

积分

跳转到指定楼层
楼主
发表于 2006-4-1 08:57:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

有一副奇怪的扑克牌,共有45张,1点(A)有1张:2点有2张......9点有9张。搅和以为背面放在桌上,让某人来秘密地抽一张。你问他几个问题,他只回答是或非,设法把他手中的点数问出来。你怎样使你必须问的问题数目尽可能地少? 请注意,我们要找的是无论他选到什么牌都能问出的通用程序。如你设计的第一个问题是:“你的牌是不是5点?”那么当他的牌正是5点时,你一次就问出来了。但这不是通用程序,因为如若不是5点,你的第一个问题起的作用就太小了。
www.ddhw.com

 
回复

使用道具 举报

56

主题

412

帖子

4544

积分

沙发
发表于 2006-4-1 20:42:04 | 只看该作者

可不可以问“大于”“小于”


  可不可以问“大于”“小于”




回复 支持 反对

使用道具 举报

456

主题

1770

帖子

2万

积分

板凳
 楼主| 发表于 2006-4-1 22:25:22 | 只看该作者

Yes


  Yes




回复 支持 反对

使用道具 举报

56

主题

412

帖子

4544

积分

地板
发表于 2006-4-1 23:45:17 | 只看该作者

回复:Yes


可用binary search.
但用binary search 时,最好两边的可能性一样多。所以可以从7 问起。如下:
(最多用5步,谁有空算算期望步数吧。)
>= 7 ? 
Yes[cover 24 cards]--->=8?
          Yes[cover 17 cards]--->8?
                   Yes[cover 9 cards]---(9)
                   No[cover 8 cards]---->(8)
          No[cover 7 cards]----(7)www.ddhw.com
No[cover 21 cards]---->=5? 
          Yes[cover 11 cards]--->5?
                    Yes[cover 6 cards]---(6)
                    No[cover 5 cards]----(5)www.ddhw.com
          No[cover 10 cards]---->3?
                    Yes[cover 4 cards]---(4)
                    No[cover 6 cards]---->2?www.ddhw.com
                                 Yes[cover 3 cards]---(3)
                                 No[cover 3 cards]---->1?www.ddhw.com
                                            Yes[cover 2 cards]---(2)
                                            No[cover 1 card]-----(1)
 
www.ddhw.com

 
回复 支持 反对

使用道具 举报

24小时热帖
    一周热门
      原创摄影
        美食美文
          您需要登录后才可以回帖 登录 | 立即注册

          本版积分规则

          Archiver|手机版|珍珠湾ART

          Powered by Discuz! X3 © 2001-2013 All Rights Reserved