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

 
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个数,根据抽屉原理,至少有两个数取自同一个抽屉.由于凡在同一抽屉中的两个数都具有倍数关系,
  所以这两个数中,其中一个数一定是另一个数的倍数。 
 
 /*
  * 	
  * */


 

要在Android Activity增加右侧抽屉,可以使用DrawerLayout控件。以下是一个简单的示例代码,其抽屉包含一个简单的列表: ```java public class MyActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化DrawerLayout和ListView mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.drawer_list); // 设置抽屉的列表项 String[] drawerItems = {"Item 1", "Item 2", "Item 3"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, drawerItems); mDrawerList.setAdapter(adapter); // 设置ActionBar的导航图标,用于打开抽屉 ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.setHomeAsUpIndicator(R.drawable.ic_menu); actionBar.setDisplayHomeAsUpEnabled(true); } } // 处理ActionBar导航图标的点击事件,打开或关闭抽屉 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: if (mDrawerLayout.isDrawerOpen(mDrawerList)) { mDrawerLayout.closeDrawer(mDrawerList); } else { mDrawerLayout.openDrawer(mDrawerList); } return true; } return super.onOptionsItemSelected(item); } } ``` 在布局文件,需要将主内容区域和抽屉区域都包含在DrawerLayout,并设置相应的属性: ```xml <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 主内容区域 --> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- 抽屉区域 --> <ListView android:id="@+id/drawer_list" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="end" android:background="@android:color/white" android:choiceMode="singleChoice" android:divider="@android:color/darker_gray" android:dividerHeight="1dp" /> </android.support.v4.widget.DrawerLayout> ``` 在这个示例,抽屉位于右侧,宽度为240dp,背景色为白色,列表项之间有一条灰色的分割线。你可以根据自己的需要修改这些属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值