题干:

分东西

时间限制:1000 ms  |  内存限制:65535 KB

难度:1

输入

第一行输出一个数i表示有i组情况(0<i<=10)
接下来的i行,每一行输入两个个数M(0<M<1000000)和N(0<N<20)

输出

输出店主是否办得到Yes或No

样例输入

2
3 2
8 3

样例输出

Yes
No

来源

原创

描述

一家商店经调查后发现顾客都比较喜欢整箱的商品而不太喜欢拆散,于是呢,这个商店就将M件相同物品事先分装在N个箱装好,以便客人购买的时候,不管客人想要几件都可以整箱的给,不用拆箱子,想以此来提高销量。问题来了,店主办得到吗?

解题报告:

       水题。。。二进制的思想。

AC代码:

#include<bits/stdc++.h>

using namespace std;
int n,m; 
int main()
{
	int t;
	cin>>t;
	while(t--) {
		cin>>m>>n;//把m件物品放到n个箱子中
		if(n >= m) 	printf("Yes\n");continue;
		if(n > log2(m)) printf("Yes\n");
		else printf("No\n");
	}
	return 0 ;
 }