您的位置:首页 > 其它

抽屉原理---从1到20这20个数中,任取11个数,必有两个数,其中一个数是另一个数的倍数

2011-11-15 18:35 1021 查看
import java.util.*;

class Acm {

public static void main(String args[])
{

Scanner sin = new Scanner(System.in);
int m,n;
while(sin.hasNextInt())
{

m=sin.nextInt();
n=sin.nextInt();
if(show(m)<=n)
System.out.println("YES");
else
System.out.println("NO");
}

}

public  static int show(int m)
{

return(int) Math.ceil((((double)m)/2))+1;
}

}
/*
例3: 从1到20这20个数中,任取11个数,必有两个数,其中一个数是另一个数的倍数。
分析与解答 根据题目所要求证的问题,
应考虑按照同一抽屉中,任意两数都具有倍数关系的原则制造抽屉.把这20个数按奇数及其倍数分成以下十组,
看成10个抽屉(显然,它们具有上述性质):
  {1,2,4,8,16},{3,6,12},{5,10,20},{7,14},{9,18},{11},{13},{15},{17},{19}。  
 从这10个数组的20个数中任取11个数,根据抽屉原理,至少有两个数取自同一个抽屉.由于凡在同一抽屉中的两个数都具有倍数关系,
所以这两个数中,其中一个数一定是另一个数的倍数。

/*
*
* */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐