百炼-2756-二叉树-C语言-递归

来源:互联网 发布:淘宝上做一件代发 编辑:程序博客网 时间:2024/06/04 01:28

简单入门的递归算法。

/********************************************文件名:百炼-2756**Copyright (c) 2010-2020 OrdinaryCrazy**创建人:OrdinaryCrazy**时间:20170806**描述:百炼2756参考答案**版本:1.0*******************************************/#include <stdio.h>/******************************************这个题目要求树上任意两个结点的最近公共根结点分析树的结构,任意一个结点对2做整数除法就得到上一个结点设common(x,y)表示整数x和y的最近公共根结点,那么有3种情况:1,x=y,则common(x,y)=x=y2,x>y,则common(x,y)=common(x/2,y)3,x<y,则common(x,y)=common(x,y/2)*******************************************/int common(int x,int y){    if(x == y) return x;    if(x > y) return common(x / 2,y);    return common(x,y / 2);}int main(){    int a,b;    scanf("%d%d",&a,&b);    printf("%d",common(a,b));    return 0;}