利用二叉树的性质:
lchild=2*parent;
rchild=2*parent+1;
就可以做出来。
#include<stdio.h>
int d(int a,int c[])
{
int i=0;
while(a!=0)
{
c[i++]=a;
a/=2;
}
return i;
}
int main()
{
int x,y;
int i,j,count=0;
int a[10],b[10];
scanf("%d%d",&x,&y);
x=d(x,a);
y=d(y,b);
for(i=x,j=y;i>=0&&i>=0;i--,j--)
if(a[i]==b[j])
count=a[i];
printf("%d\n",count);
}