博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1110: 最近共同祖先(函数专题)
阅读量:7033 次
发布时间:2019-06-28

本文共 710 字,大约阅读时间需要 2 分钟。

题目描述

如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结

点(编号是1 的结点)都有一条唯一的路径,比如从10 到根结点的路径是(10, 5, 2, 1),
从4 到根结点的路径是(4, 2, 1),从该结点到根结点的路径上的所有结点称为该结点的祖先。现在的问题就是,给定x 和y,求x和y的最近共同祖先,比如,10和4最近共同祖先是2,10和5的最近共同祖先是5。
定义递归函数
int common(int x, int y)
{
如果x==y, return x;
如果x>y,求x/2与y的共同祖先;
否则,求x与y/2的共同祖先;
}

 

输入

输入只有一行,包括两个正整数x 和y,这两个正整数都不大于1000。

 

输出

输出只有一个正整数,即x和y的最近共同祖先。

 

样例输入

10 4

 

样例输出

2
#include
int common(int x, int y){ if(x==y) return x; else if(x>y) common(x/2,y); //求x/2与y的共同祖先; else common( x,y/2);}int main(){ int x,y; scanf("%d%d",&x,&y); int z=common(x,y); printf("%d",z); return 0;}

 

转载于:https://www.cnblogs.com/binanry/p/10017353.html

你可能感兴趣的文章
Android中this、super的区别
查看>>
ibatis log4j 配置 显示sql
查看>>
hadoop-2.3.0-cdh5.1.0完全分布式集群配置及HA配置(待)
查看>>
win7 + vs2013 + libiconv.lib
查看>>
drupal的drupal_register_shutdown_function
查看>>
创建一个多线程的QTcpServer
查看>>
视频取首帧,并保存到SDCard
查看>>
Servlet-获得web.xml配置参数信息
查看>>
Spring初始化容器—实例化bean对象
查看>>
android 自定义系统键盘
查看>>
MySQL 查询优化器(总结)
查看>>
2014年6月28日
查看>>
android读取手机验证码
查看>>
awk 日常实例
查看>>
Python直接赋值、浅拷贝和深度拷贝解析
查看>>
何时进行重构?
查看>>
centos6.2x64系统配置本地yum源
查看>>
Java Strategy 模式简介
查看>>
CDH-cdh5.8.3离线安装--Mysql5.7二进制部署
查看>>
flask request 对象
查看>>