“解答和题目一样长”:更多的一句话证明

    网友hetong_007在他的Blog上分享了几个“一句话证明”:

    在一个圆周上有若干个实数,将它们染成或红或蓝,满足红数等于左右两个相邻数的和,蓝数等于左右两个相邻数的和再除以2。求证,红色数的总和为零。
    我们用S红来表示所有红数的和,S蓝来表示所有蓝数的和,S表示所有数的和。于是不难得出S红+S蓝=S;S红+2S蓝=2S。

    定义f(x)满足:定义域及值域都是不为零的实数,且f(x)+f(y)=f(x·y·f(x+y)),求解f(x)。
    可知,在条件下y·f(x+y)≠1,于是f(x+y)≠1/y;令z=x+y,则f(z)≠1/(z-x);对于每一个固定的z,x可以取任意非0实数,而它们所产生的1/(z-x)都不等于f(z),那么f(z)只能等于1/(z-0)。经验证,答案满足条件。

    在一个平面上对所有点任意红蓝染色,求证一定存在两个自同色的相似凸n边形,满足相似比为e^pi。自同色是指自己的顶点都是一种颜色,两个凸n边形不一定要互相同色。
    在平面上做两个同心圆,且半径比为e^pi。在内圆上选2n-1个同色的点,分别与圆心连接,延长交于外圆。由鸽笼原理,外圆上的2n-1个点一定有n个点同色。

    网友B.Storm告诉我说,他正在写一个Mathematica的进阶教程。看这个趋势的话,这很可能会成为最强大的Mathematica中文教程了,希望能坚持写完。

    hetong_007发来邮件说,那位牛人在kloonigames把所有的原创游戏都列了出来。相当强大。

趣题:构造一个[0,1]到(0,1)的一一映射

    网友Gestorm在TopLanguage里问到,如何构造一个[0,1]到(0,1)的一一映射。两个集合的势显然相等,它们之间一定有一个一一对应的函数。注意到(0,1)是[0,1]的子集,利用Cantor-Bernstein-Schroeder定理,只要我们能找到一个从[0,1]到(0,1)的单射函数,我们便找到了两个集合间的双射函数(因为上述定理的证明是构造性的)。这非常简单,例如f(x)表示x与0.5的平均数即可。考虑上述定理的Julius König证明,我们立即得到一个[0,1]到(0,1)的一一映射:f(0)=1/4, f(1/4)=3/8, f(3/8)=7/16, …,不断进行(x+1/2)/2的迭代;同样地,f(1)=3/4, f(3/4)=5/8, f(5/8)=9/16, …;对于其它所有未定义到的x,f(x)=x。这个函数显然是双射的。
    仔细观察这个函数。当你领会到这个函数的真谛时,你突然恍然大悟:我可以用类似地办法弄出无穷多个[0,1]到(0,1)的一一映射。例如,最简单的便是f(0)=1/2, f(1)=1/3;然后f(1/2)=1/4, f(1/3)=1/5, f(1/4)=1/6, …, f(1/i)=1/(i+2);对于其它未定义的x,f(x)=x。
    查看TopLanguage的原帖可以看到一些类似的结果。

海盗分金问题的扩展:当N>200时

    才知道,海盗分金问题有一个非常有趣的扩展。5个海盗分100个金块不难,100个海盗分100个金块也不难,事实上200个海盗分100个金块也不成问题。有趣的事情发生在第201个海盗身上——为了保命,他连一块金子都不能拿。他不得不把所有100块金子都分给前面199个人中奇数编号的人,从而贿赂他们投他的票(因为在第200个海盗的最优方案中这些人什么都得不到)。加上自己的一票共101票,过半了。同样地,第202个海盗也必须把100块金子分给在第201个海盗的方案中什么也得不到的人,贿赂他们投自己一票。由于第201个海盗的方案中有101个海盗得不到任何东西,因此他的方案不再唯一。加上自己的票共101票,正好是202的一半,这样一来他也活下来了。当问题扩展到N=203时,情况有了戏剧性的变化——第203个海盗无论如何都会死!因为只有100块金子,根本不够他用来贿赂,他无论如何也只能得到101票(别忘了题目条件假设海盗在自身利益相同的情况下会选择杀更多的人)。牛B就牛B在第204个海盗,虽然他也只能贿赂到100票,但是他居然活下来了!你猜他怎么活的?哈哈哈~~~~因为第203个海盗无论如何都会投他一票,不投他的话等轮到自己时就完了。因此第204个海盗把100个金子分给在第202个海盗的方案中啥也得不到的人,加上203和自己的票共102票,这才活了下来。类似地,你会发现第205个海盗必死;第206个海盗虽然会得到205的支持,但是票数仍然不够;207想活的话需要104票,但他也只能搞到103票;208将得到205、206、207的支持,加上自己的一票和贿赂来的100票,正好活了。以后,第216, 232, 264, …, 200+2^n个海盗都将活下来,游戏将在他们这里结束。