鸽巢原理应用于一道十分有意思的题目

在组合数学中学习鸽巢原理。其中一道例题是这样的:

从1,2,3,4,..., 200这200个整数中选取101个整数,则一定存在两个数存在整除关系?

解答:

一个数对其按照2进行因式分解,总可写成n = 2 ^ k * t(其中k >=0, t为奇数)。例如2 = 2 ^ 1 * 1; 3 = 2 ^ 0 * 3...

而1到200存在奇数1,3,5,7,..., 199一共100个奇数。我选取101个整数,则说明存在两个整数i,j, 它们经过分解,t是相等的。所以前面的k是不一样的。也就证明了i,j存在整除关系。很简单是吗?请看下面一道扩展题。


从1,2,3,4,..., 200这200个整数中选取100个整数,其中只有一个数小于16,证明一定存在两个数存在整除关系?

我们这样想:

    定义两个集合A =  {a[1], a[2], ..., a[100]}

                           B = {1, 3, 5, 7, ..., 199}

其中A是从200个整数中选取的100个整数,而B[i]则是某个a[j]经过按2分解最后的奇数t。

经过思考,若选取的100个数不存在整除关系,则每个数一定映射到不同的奇数。若两个数经分解后得到相同的奇数,则这两个数能够整除。

我们再来分情况讨论,

        对于最小数15,

        它映射到集合B的元素是15。假设映射到集合B为45的元素为M,则M和15是什么关系呢?一定整除,对不对?所以存在整除。

       对于13, 39

                11, 33

                 9,  27

                 7, 21

                5, 15

               3, 9

              1不用说,肯定存在整除关系。

关键是对于1到15之间的偶数,如何处理?

       对于14, 14 = 2 * 7(k = 1)。 映射到B中的元素为7。

       我们接着考虑B的为7的倍数的元素{21, 35, 49, 63, 77, 91, 105,..., 189}

      我们知道105后面的映射到A就是它们本身,因为A中每个数都小于200.

     接着我们随便来考虑一组数值<35, 105>.105是35的倍数,为了使它们两者对应到A中的元素不存在整除,则A中的元素一定是2 ^ k * 35(k > 0)。而这是A中的元素一定是14

的整倍数。所以要么是14的倍数,要么是105和35对应的数存在整数倍关系。

      对于10,10 = 2 * 5(k = 1)处理方式和14一样。

       对于6,处理方式和14一样。

接着我们来考虑12,8,4,2.

     先来考虑2吧。

     若A中存在元素2,若不存在整数关系,其它199个数都是奇数。我们知道,这些奇数中肯定存在整除关系。

    再来考虑12吧。

    对于12,12 = 2 ^ 2 * 3(k = 2, t = 3)

    奇数为3.我们来考虑B中的 sub_B={9, 15, 21, 27, ...99, 105, 111, 117, ..., 195}

    这些都是3的倍数。

   为了不和12产生整除关系设定sub_B 到A中元素的映射关系为 2 ^ k * sub_B[i](其中一定是小于等于1的)

我们知道105以后的k一定是0.我们来看tri_pair<9, 27, 117>117是27的倍数,27是9的倍数。为了是它们映射到A中元素不能整除,所以2 ^ 1 * 27, 2 ^ 2 ^ 9。

  这个时候我们发现,2 ^ 2 * 9 已经是12的倍数了。要么9, 27, 117对应于A中的数之间存在整除关系,要么其中有些数是12的倍数,总之,存在整除关系。

   来考虑8和4。

  对于4 = 2 ^ 2 * 1(k = 2, t = 1)

  正如在对于12讨论的那样,一定存在4的倍数。


   对于8 = 2 ^ 3 * 1(t = 1)对于3次方如何考虑呢?

   还是按照原来的思路。

  我们取sub_B = {3, 9, 15, 21, ..., }

这样对于<3, 21, 63, 189>后面的在这里就不写了。

到现在,我们已经将1,2,3,4,5,..., 15全部讨论完了。对于每个数都存在整除关系。

吐舌头

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值