题目链接:https://vjudge.net/contest/168648#problem/C
题意:一堆人用2的倍数搭建房子,一堆人用3的倍数搭建房子,要求不能重复,求最小的最高的房子的高度
题解:二分+思维。2和3的最小公倍数为6,那就在题目的最大范围能搜索n(能被2,3整除且无重复)---详见函数
code:
#include <stdio.h>
int n,m;
int check(int a)
{
if((a/2<n) || (a/3<m) || (a/2+a/3-a/6<m+n))
return 0;
return 1;
}
int main()
{
int l=0,r=10000000,mid;
while(scanf("%d%d",&n,&m)!=EOF)
{
l=0; r=10000000;
while(l+1<r)
{
mid=(l+r)/2;
if(check(mid))
{
r=mid;
}
else
{
l=mid;
}
}
printf("%d
",r);
}
return 0;
}