作者simonjen (狂)
看板logic
标题Re: [请益] 一些逻辑问题
时间Thu Jun 10 07:35:40 2010
※ 引述《rexkimta (冷杉林)》之铭言:
: ※ 引述《simonjen (狂)》之铭言:
: : 令三种颜色为r b g
: : 先观察如果给一个r 一个b可以合成两个g 在用两个b去合成四个r
: : 所以总计r少了三个 g没有多没有少 b多了三个
: 这里反了吧?
: 是r多了三个b少了三个吧?
恩恩 打字错误 抱歉
: : 也就是说经过这样的设计对於所有的个数为3的倍数都可以完全的换掉成为另一个颜色
: : 又因为 2009 = 2 mod 3
: : 对於任意个数的三种不同颜色必然存在一种颜色是3的倍数
: : 所以用上述的设计方式可以把三种颜色变成只有两种颜色
: : 若是这剩下的两种颜色有一个颜色是三的倍数
: : 那麽马上就可以得知有一个有限的方式可以把这两个颜色变成一种颜色
: : 假若这两种颜色都是3的倍数多1 那麽我们可以用以下的设计
: : 这两个颜色必定有一个比较多一个比较少(因为2009是奇数)假定这两个颜色个数各为m n
: 这里有问题,如果三种颜色分别是1003、1003、3个
: 就符合你的条件,可是前两种颜色并没有一个多一个少。
其实我的意思是说 要先变成两种颜色 所以
我可以把其中一个1003和3合并 就变成1006和1003
而合并的方法就是用上述的方式
(容我罗说说的再解释一遍 假定r b g 各为1003 1003 3
於是我就拿出一个r和g合成2个b於是这样的个数就成为 1002 1005 2
再拿出2个b和剩下2个g合成r就成为r b g 的个数是 1006 1003 0
那麽我们令这样的方法为函数f(x,y)= (x+3,y-3) )
: 而且只要第三个颜色是奇数,都可以找到这种反例。
因为2009 = 2 mod 3
所以是不可能有三个颜色都是一样多的状况
所以我们可以用一对一合并的方式将其中的一个比较少的颜色合并掉
也就是函数g(x,y,z) = (x+z,y-z,0) 其中z是颜色最少的那一个
: : 且m > n
: : 所以我们用一对一的方式取就可以得到第三种颜色直到原先的颜色中某一个颜色取为止
: : 因此最後会只剩下两种颜色 其中个数个别为 m-n 和 2*n
: : 因为 m = 1 mod 3 和 n = 1 mod 3 => m - n = 0 mod 3
: : 所以就会有一个颜色是三的倍数再用一开始的设计那麽就可以指得到一种颜色
: : 因此对於任意个数总和是2009的三种颜色 存在一种有限的方法
: : 将颜色变成同一种颜色 //
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.25.40