CSU - 1213 二叉树结点公共祖先

来源:互联网 发布:手机淘宝浏览单软件 编辑:程序博客网 时间:2024/06/06 03:37

题目:

Description

一个顺序存储的完全二叉树:

             1

          /     \

        2         3

      /   \     /    \

    4       5  6      7

    ...

任意给定两结点的编号,求两结点最近的公共祖先。

Input

每组数据一行,为空格隔开的两个数i和j,皆为32位有符号正整数

Output

每组数据对应一行,为编号为i和j的结点的最近公共祖先的编号

Sample Input

4 54 7

Sample Output

21

代码:

#include<iostream>using namespace std; int main(){    int a,b;    while(cin>>a>>b)    {        while(a!=b)        {            if(a>b)a/=2;            else b/=2;        }cout<<a<<endl;    }    return 0;}

2 0