当前位置: 首页 > news >正文

抽屉原理

一、 知识要点
抽屉原理又称鸽巢原理,它是组合数学的一个基本原理,最先是由德国数学家狭利克雷明确地提出来的,因此,也称为狭利克雷原理。
把3个苹果放进2个抽屉里,一定有一个抽屉里放了2个或2个以上的苹果。这个人所皆知的常识就是抽屉原理在日常生活中的体现。用它可以解决一些相当复杂甚至无从下手的问题。
原理1:把n+1个元素分成n类,不管怎么分,则一定有一类中有2个或2个以上的元素。
原理2:把m个元素任意放入n(n<m=个集合,则一定有一个集合呈至少要有k个元素。
其中 k= (当n能整除m时)
〔 〕+1 (当n不能整除m时)
(〔 〕表示不大于 的最大整数,即 的整数部分)
原理3:把无穷多个元素放入有限个集合里,则一定有一个集合里含有无穷多个元素。

二、 应用抽屉原理解题的步骤
第一步:分析题意。分清什么是“东西”,什么是“抽屉”,也就是什么作“东西”,什么可作“抽屉”。
第二步:制造抽屉。这个是关键的一步,这一步就是如何设计抽屉。根据题目条件和结论,结合有关的数学知识,抓住最基本的数量关系,设计和确定解决问题所需的抽屉及其个数,为使用抽屉铺平道路。
第三步:运用抽屉原理。观察题设条件,结合第二步,恰当应用各个原则或综合运用几个原则,以求问题之解决。

例1、 教室里有5名学生正在做作业,今天只有数学、英语、语文、地理四科作业
求证:这5名学生中,至少有两个人在做同一科作业。
证明:将5名学生看作5个苹果
将数学、英语、语文、地理作业各看成一个抽屉,共4个抽屉
由抽屉原理1,一定存在一个抽屉,在这个抽屉里至少有2个苹果。
即至少有两名学生在做同一科的作业。

例2、 木箱里装有红色球3个、黄色球5个、蓝色球7个,若蒙眼去摸,为保证取出的球中有两个球的颜色相同,则最少要取出多少个球?
解:把3种颜色看作3个抽屉
若要符合题意,则小球的数目必须大于3
大于3的最小数字是4
故至少取出4个小球才能符合要求
答:最少要取出4个球。

例3、 班上有50名学生,将书分给大家,至少要拿多少本,才能保证至少有一个学生能得到两本或两本以上的书。
解:把50名学生看作50个抽屉,把书看成苹果
根据原理1,书的数目要比学生的人数多
即书至少需要50+1=51本
答:最少需要51本。

例4、 在一条长100米的小路一旁植树101棵,不管怎样种,总有两棵树的距离不超过1米。
解:把这条小路分成每段1米长,共100段
每段看作是一个抽屉,共100个抽屉,把101棵树看作是101个苹果
于是101个苹果放入100个抽屉中,至少有一个抽屉中有两个苹果
即至少有一段有两棵或两棵以上的树

例5、 11名学生到老师家借书,老师是书房中有A、B、C、D四类书,每名学生最多可借两本不同类的书,最少借一本
试证明:必有两个学生所借的书的类型相同
证明:若学生只借一本书,则不同的类型有A、B、C、D四种
若学生借两本不同类型的书,则不同的类型有AB、AC、AD、BC、BD、CD六种
共有10种类型
把这10种类型看作10个“抽屉”
把11个学生看作11个“苹果”
如果谁借哪种类型的书,就进入哪个抽屉
由抽屉原理,至少有两个学生,他们所借的书的类型相同

例6、 有50名运动员进行某个项目的单循环赛,如果没有平局,也没有全胜
试证明:一定有两个运动员积分相同
证明:设每胜一局得一分
由于没有平局,也没有全胜,则得分情况只有1、2、3……49,只有49种可能
以这49种可能得分的情况为49个抽屉
现有50名运动员得分
则一定有两名运动员得分相同

例7、 体育用品仓库里有许多足球、排球和篮球,某班50名同学来仓库拿球,规定每个人至少拿1个球,至多拿2个球,问至少有几名同学所拿的球种类是一致的?
解题关键:利用抽屉原理2。
解:根据规定,多有同学拿球的配组方式共有以下9种:
{足}{排}{蓝}{足足}{排排}{蓝蓝}{足排}{足蓝}{排蓝}
以这9种配组方式制造9个抽屉
将这50个同学看作苹果
=5.5……5
由抽屉原理2k=〔 〕+1可得,至少有6人,他们所拿的球类是完全一致的

参考:baike.baidu.com/view/8899.htm

转载于:https://www.cnblogs.com/JoannaQ/archive/2013/04/07/3003307.html

相关文章:

  • Flexigrid自定义显示数据列
  • parseInt()
  • SQL SERVER 2000数据库置疑处理
  • 从零开始--系统深入学习android(实践-让我们开始写代码-Android框架学习-4.Action Bar)...
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • vue组件之间的传值
  • 『Python基础』第二节: Python简介及入门
  • 统一ID服务
  • 小小c#算法题 - 5 - 插入排序
  • 线程启动 [转]
  • PSP Skype 使用国内卡
  • php.ini 中文版[转]
  • 使用StyleCop进行代码审查
  • wcf服务代理层添加wcf服务异步代理
  • 检测是否支持position:fixed
  • SegmentFault for Android 3.0 发布
  • .pyc 想到的一些问题
  • 《剑指offer》分解让复杂问题更简单
  • 【347天】每日项目总结系列085(2018.01.18)
  • Angularjs之国际化
  • ES6之路之模块详解
  • jdbc就是这么简单
  • magento 货币换算
  • Odoo domain写法及运用
  • PhantomJS 安装
  • vue:响应原理
  • Vue小说阅读器(仿追书神器)
  • 电商搜索引擎的架构设计和性能优化
  • 复杂数据处理
  • 聊聊directory traversal attack
  • 我看到的前端
  • 写代码的正确姿势
  • 用mpvue开发微信小程序
  • 正则学习笔记
  • 正则与JS中的正则
  • #100天计划# 2013年9月29日
  • (2)STM32单片机上位机
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET 8.0 发布到 IIS
  • .NET MVC之AOP
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET的微型Web框架 Nancy
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET建议使用的大小写命名原则
  • .net经典笔试题
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @Service注解让spring找到你的Service bean
  • [ IOS ] iOS-控制器View的创建和生命周期
  • []C/C++读取串口接收到的数据程序
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Android Pro] AndroidX重构和映射