用递归方法,如果x大,就找x/2和y的,反之一样,相等则直接return。
// Problem#: 19620
// Submission#: 4905830
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#pragma warning(disable:4996)
#include <cstdio>
int father(int x, int y)
{
if (x == y)
return x;
else if (x>y)
return father(x / 2, y);
else
return father(x, y / 2);
}
int main()
{
int t;
scanf("%d",&t);
while (t--)
{
int a, b;
scanf("%d%d", &a, &b);
int c = father(a, b);
printf("%d\n",c );
}
}