- 最后登录
- 2013-11-11
- 在线时间
- 873 小时
- 阅读权限
- 40
- 注册时间
- 2008-9-15
- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密

- 积分
- 1194
- 帖子
- 924
- 精华
- 6
- UID
- 44804
- 性别
- 保密
|
用m进制表示1000以内的数,用N表示需要的位数,用S表示最高位少用的数字数(比如6进制,最高位只需要使用5个数字,少使用1个数字,S=1),那么
m=2,N=10,S=0
m=3,N=7,S=1
m=4,N=5,S=0
m=6,N=4,S=1
m=10,N=3,S=0
m=32,N=2,S=0
------------------------
一瓶毒酒的情况:
用10位二进制的数 A0A1A2A3A4A5A6A7A8A9 来标记1000瓶酒
标号从0000000000到1111100111。
要确定毒酒的标号,必须确定每一位的数字是0还是1.
用(Ai=0)表示Ai位为0的所有酒各取一些混成一杯酒,
调和成以下10杯酒:
(A0=0),(A1=0),(A2=0),(A3=0),(A4=0),(A5=0),(A6=0),(A7=0),(A8=0),(A9=0)
用f(i)表示饮用(Ai=0)酒后的死亡情况,
f(i)=0 表示饮用(Ai=0)酒后死亡,
f(i)=1 表示饮用(Ai=0)酒后没有死亡,
那么毒酒的标号就是 f(0)f(1)f(2)f(3)f(4)f(5)f(6)f(7)f(8)f(9)
用其他进制标记各酒,找出毒酒所需调和的总酒杯数=(m-1)*N-S,结果都大于10杯。
-----------------------------
两瓶毒酒的情况:
用N位m进制数 A0A1......AN-1 标记1000瓶酒,
要确定毒酒的标号,必须确定毒酒每一数位上的数字.
将每个数位上的数字相同的所有酒混合在一起成1杯酒,那么每个数位上可混合成m杯酒(高位为m-S杯酒),一共配成m*N-S杯酒。
每个数位上的m杯酒,被喝了,死亡人数为1人或2人。
若为1人,那么两瓶毒酒该数位上的数字相同,两瓶毒酒该数位上的数字就可被确定。
若为2人,那么两瓶毒酒该数位上的数字不相同,到底哪个数字是哪瓶毒酒该数位上的数字不能确定。
若所有数位上只有一个数位不能确定,那么没关系,随便定就可。
若有两个以上的数位不能确定,那么,毒酒就不能被唯一确定,例如两瓶毒酒A1位数字为a,b,A3位数字为c,d,那么毒酒到底是ac、bd,还是ad、bc就不能确定。只能增加调和的酒杯数,必须联合A1A3,至少配成m-1杯酒,比如按照A3-A1的值除以m的余数来配酒。
这N个数位每两个数位之间都必须联合配酒才可。这样总共增加了(m-1)*N*(N-1)/2杯酒.
所以为了确定两杯毒酒,总共需要调和的总酒杯数为m*N-S+(m-1)*N*(N-1)/2。
计算结果,发现m=4时,总共需要调和的总酒杯数最少,为50杯。
总酒杯数 一杯毒酒 两杯毒酒
2进制: 10 65
3进制: 13 62
4进制: 15 50
5进制: 17 62
6进制: 19 53
7进制: 20 60
8进制: 22 68
9进制: 25 77
10进制:27 57
32进制:62 95
--------------------------
即采用5位4进制数 A0A1A2A3A4 标记1000瓶酒,
调和成以下50杯酒,每杯酒试验一个人。
(A0-A4 mod 4=0) 表示A0位的数字减去A4位的数字除以4的余数等于0的所有酒调和成一杯酒。
(A0=0),(A0=1),(A0=2),(A0=3)
(A1=0),(A1=1),(A1=2),(A1=3)
(A2=0),(A2=1),(A2=2),(A2=3)
(A3=0),(A3=1),(A3=2),(A3=3)
(A4=0),(A4=1),(A4=2),(A4=3)
(A0-A4 mod 4=0),(A0-A4 mod 4=1),(A0-A4 mod 4=2)
(A1-A4 mod 4=0),(A1-A4 mod 4=1),(A1-A4 mod 4=2)
(A2-A4 mod 4=0),(A2-A4 mod 4=1),(A2-A4 mod 4=2)
(A3-A4 mod 4=0),(A3-A4 mod 4=1),(A3-A4 mod 4=2)
(A0-A3 mod 4=0),(A0-A3 mod 4=1),(A0-A3 mod 4=2)
(A1-A3 mod 4=0),(A1-A3 mod 4=1),(A1-A3 mod 4=2)
(A2-A3 mod 4=0),(A2-A3 mod 4=1),(A2-A3 mod 4=2)
(A0-A2 mod 4=0),(A0-A2 mod 4=1),(A0-A2 mod 4=2)
(A1-A2 mod 4=0),(A1-A2 mod 4=1),(A1-A2 mod 4=2)
(A0-A1 mod 4=0),(A0-A1 mod 4=1),(A0-A1 mod 4=2)
[ 本帖最后由 lulijie 于 2009-6-29 22:48 编辑 ] |
|