辗转相除法求最大公约数

简介: 假设 a / b =c …… d 欧几里得算法:被除数与除数的公约数和除数与余数的公约数相同,那么它们的最大公约数也相同即:a 和 b 的最大公约数与 b 和 d 的最大公约数相同

一、辗转相除法的原理


假设 a / b =c …… d


欧几里得算法:被除数与除数的公约数和除数与余数的公约数相同,那么它们的最大公约数也相同


即:a 和 b 的最大公约数与 b 和 d 的最大公约数相同


二、辗转相除法代码


传值时不必考虑x与y哪个大与小,比如求35与15的最大公约数:


35/15=2……5      15/35=0……15


15/5=3……0        35/15=2……5


                           15/5=3……0


参数1小于参数2只是多计算了一步,并不影响结果


通过辗转相除法可写递归代码如下:

int GCD(int x, int y)
{
    if (x % y == 0)
    {
        return y;
    }
    else
    {
        GCD(y, x % y);
    }
}


目录
相关文章
|
3月前
|
算法 Java API
用录像代替视频聊天,虚拟视频聊天软件微信QQ, 微信第三方插件虚拟视频插件
核心视频处理模块使用JavaCV实现视频捕获、特效处理和虚拟设备输出 Xposed模块通过Hook微信摄像头相关方法实现视频流替换
|
4月前
|
API 数据库 数据安全/隐私保护
快递单p图生成器,在线单号转换工具, 快递单号制作器app
这个程序是一个合法的快递单号验证工具,包含以下功能:选择快递公司并验证单号格式
|
算法 索引 Python
|
JavaScript 前端开发 数据处理
【React/Vue2】 使用Element UI 高度封装Select 下拉框创建条目(Ant Design更为简单)
【React/Vue2】 使用Element UI 高度封装Select 下拉框创建条目(Ant Design更为简单)
【React/Vue2】 使用Element UI 高度封装Select 下拉框创建条目(Ant Design更为简单)
|
数据采集 Python 数据可视化
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念](三)
[Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念](三)
|
运维 监控 Java
在Linux中,当遇到系统卡顿时,你会采取哪些步骤来定位原因?
在Linux中,当遇到系统卡顿时,你会采取哪些步骤来定位原因?
|
SQL JavaScript 前端开发
简单用Nodejs + express 编写接口
【6月更文挑战第3天】该文介绍了如何在Node.js和Express中创建GET和POST接口。首先,简要提到了准备工作,建议查阅上一篇文章。接着展示了GET接口的示例,说明可以直接在浏览器中请求。然后,详细解释了POST接口的步骤,包括引入Express模块、设置路由处理程序、解析请求体及处理请求。最后,强调了编写接口时应注意错误处理、安全性、中间件使用、路由组织、日志记录、性能优化和测试等关键点。作者以肥晨的身份结尾,鼓励关注其分享的前端学习资料和技术动态。
387 1
|
JavaScript API
vue3【实用教程】侦听器 watch,自动侦听 watchEffect(),$watch,手动停止侦听器
vue3【实用教程】侦听器 watch,自动侦听 watchEffect(),$watch,手动停止侦听器
336 0
|
前端开发 Linux 网络安全
旧手机闲置?教你用Termux搭建个移动服务器
旧手机闲置?教你用Termux搭建个移动服务器
757 0
|
存储 弹性计算 缓存
阿里云服务器如何选择配置? 阿里云服务器配置推荐及活动价格参考
阿里云服务器配置应该怎么选?个人和企业分别选择什么配置的比较好,这是很多首次购买阿里云服务器的用户在选择配置时比较纠结的问题,下面小编针对目前个人和企业用户在购买云服务器时常用的配置做一个推荐,新手用户如果不知道如何选择自己的阿里云服务器配置,可以参考以下推荐购买:
阿里云服务器如何选择配置? 阿里云服务器配置推荐及活动价格参考