zoukankan      html  css  js  c++  java
  • 变色龙

      有一个变色龙群体,其中包含20只红色、18只蓝色和16只绿色的变色龙。当两个不同颜色的变色龙相遇时,它们就会变成第三种颜色的变色龙。一段时间以后,是否有可能所有的变色龙都变成了同一种颜色?

      这个问题是阿肯色大学的一位数学家Boris Schein寄给Winkler的,它可能是十分古老的一个问题。这个问题曾经作为考题出给Kharkov的一个八年级学生,也曾经出给正在一家大的金融公司面试的哈佛大学的一个年轻毕业生,他们都给出了正确解答!

      问题的关键是注意到任何两个变色龙相遇之后,不同颜色的变色龙的个数之差除以3的余数保持不变(其中相遇的那一对的差值保持不变,其余的两对则是一个减1,一个加2)。对于题目中给出的数量,任何两数之差都不能被3整除。所以不可能最终变成一种颜色。

      如果可能的话,最终肯定是这样的情形,至少有两种颜色的变色龙数量相等。这样,只要让它们一一相遇,就全部转化成第三种颜色的变色龙了。

      具体过程是这样的:假设NR>NG>NB,那么肯定取Green为第三种颜色,让Red 和 Blue 的变色龙相遇,直到其中一种颜色的数量等于第三种颜色的数量。由于任意两种颜色的变色龙数量之差对3取余不变,而最终必定出现两种颜色的变色龙数量相等,所以如果想要最终变成一种颜色,必定有两种颜色的变色龙数量之差模3余0.

      综上所述,并且注意到如果有两个差值均为3的倍数,则第3个差值必定也是3的倍数,我们有:

      ·如果3个差值都是3的倍数,则一定能够达到最后只剩一种颜色的变色龙,一般剩下中间大小的那种颜色;

      ·如果只有一个差值是3的倍数,则最终只可能剩下第三种颜色的变色龙;

      ·如果任何一个差值都不是3的倍数,例如给定的情况,那么这个群体永远不可能变成单一颜色,除非发生特殊情况,如新生、死亡等。

      这个问题出现在1984年秋季国际城镇数学锦标赛的试题中,分别作为初试A-水平和高试o-水平的第5题(其中的数字为13,15,17)。这个城镇锦标赛由莫斯科的Nikolai Konstantinov 设立于1980年,从中你可以看到更多的趣题。

  • 相关阅读:
    csdn已成垃圾站了,基本不能常上了
    pymssql under ubuntu
    csdn已成垃圾站了,基本不能常上了
    redis记录
    redis记录
    pythonictclas2009编译小捷
    tar打包
    跳过mysql直奔nosql推荐时代
    pymssql under ubuntu
    Bottle中文文档
  • 原文地址:https://www.cnblogs.com/tupx/p/2481295.html
Copyright © 2011-2022 走看看