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

xiaoxiao2021-02-28  82

简单入门的递归算法。

/****************************************** **文件名:百炼-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=y 2,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; }

转载请注明原文地址: https://www.6miu.com/read-44627.html

最新回复(0)