看了一些解释,自己思考一下,做了说明,感觉很清晰,希望对大家有帮助。

求两个数a b的最大公约数m 辗转相除法
m是a b的最大公约数,所以a b一定是m的整数倍
a=xm,b=ym
差值a-b=(x-y)m如果还是大于b,那么差值再减b为(x-2y)m
如果还大于吧,再减,直至差值小于b,这个差值就是a/b的余数

a/b的余数(a%b)也是m的整数倍,
所以m也是他们余数的公约数。
所以求a b的公约数就可以变成求b和a b余数的公约数
依次向下延续求min值和余数的最大公约数。
直到没余数
说明此时a 可以整除b
此时b是原来两数的最大公约数。
范例1
a b 余数
18 16 2 第一次相除有余数,即是18不能被16整除,18=xm 16=ym 余数=(x-y)m,所以余数也是m的整数倍。就变成求16 和2的公约数
16 2 0 第二次没余数,说明16能被2整除
范例2
a b 余数
16 18 16 小学除法 商为0,余数16
18 16 2 第二次相除有余数,即是18不能被16整除,18=xm 16=ym 余数=(x-y)m,所以余数也是m的整数倍。就变成求16 和2的公约数
16 2 0 第三次没余数,说明16能被2整除。
代码我不敲了,希望大家看出解释能自己写出来,如果还是不理解,建议看一下辗转相减法。

辗转相除法的原理,一看就懂,一学就会相关推荐

  1. goip技术原理图解_图解电工识图一看就懂

    点击"电工电气学习"关注即可免费订阅! 图解电工识图一看就懂 出版时间:2015内容简介<图解电工识图一看就懂>采用图解的形式,系统介绍了电工识图基础知识.低压电器与电 ...

  2. 人人看得懂的ChatGPT技术原理解析

    人人看得懂的ChatGPT技术原理解析 编者按:自ChatGPT面世以来,我们在热切挖掘其丰富应用的同时,也在孜孜探求其背后的工作原理. 今天我们为大家带来的文章,深入浅出地阐释了ChatGPT背后的 ...

  3. 计算机网络之交换机的工作原理---超详细解析,谁都看得懂!!

    在了解交换机的工作原理之前,我们先要了解几个概念. 一.相关概念  1.OSI七层模型是哪七层? 自上而下分别是: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 交换机工作在数据链路层, ...

  4. mysql数据库前端缓存_什么是MySQL数据库的缓存池原理?看完或许就懂了

    前言 面试官:同学,你能说说Mysql 缓存池吗? 是CPP啊:啊,这么难吗,容我组织一下语言.(内心OS:这TM还不简单?我能给你扯半小时!) 面试官:可以,给你一分钟时间想一想吧. ....一分钟 ...

  5. 史密斯圆图串并联口诀_看得懂的史密斯圆图(个人总结)

    看得懂的史密斯圆图(个人总结) 2018-09-11 史密斯圆图(Smith chart)是一款用于电机与电子工程学的圆图,主要用于传输线的阻抗匹配上.一条传输线(transmission line) ...

  6. ref与out一看就懂

    讲解一下ref与out的小知识,形象总结的例子让您运用起来的心应手,新手一看就懂,共同进步. class Program { static void Main(string[] args) { //两 ...

  7. 《零基础看得懂的C++入门教程 》——(10)面向对象

    一.学习目标 了解C++类是什么 了解类对象与类型修饰一样进行创建 了解了类的属性如何使用 了解了类方法的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可: ...

  8. 《零基础看得懂的C++入门教程 》——(9)结构体原来如此

    一.学习目标 了解C++语言的结构体的使用方法 了解C++语言结构体的结构的赋值 了解多种C++语言结构体变量的赋值方法和取值方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的 ...

  9. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这 ...

  10. 《零基础看得懂的C++入门教程 》——(7)小数组玩起来

    一.学习目标 了解数组的使用方法 了解一维数组的使用方法 了解一维数组与循环的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想 ...

最新文章

  1. 软件质量保证与测试笔记——江湖救急版
  2. .NET MessageBox 网页弹出消息框
  3. sap模块介绍_SAP系统如何快速上手?
  4. 物联网思维导图_物联网将如何改变我们的思维方式
  5. 从0开始学Python,0基础小白
  6. load和loads的区别
  7. Python绘图实例24:三层嵌套正方形绘制
  8. 删除远程桌面登录的记录(mstsc)
  9. idea安装教程(傻瓜式操作、永久使用)
  10. 语音文件aac-raw-wav格式转换方法
  11. Android SDK使用迅雷下载方法
  12. 不定宽高,实现盒子左右垂直居中
  13. 第十五章 - 垃圾回收相关算法
  14. word使用:默认粘贴方式的更改
  15. vue触发模拟点击效果功能
  16. Hea First ServletJSP 4.request And response
  17. RHCS套件+Nginx实现高可用负载均衡
  18. 软件开发工具有哪些?
  19. FriendlyARM Mini210s - Installing yaffs2-image failed
  20. 利用ESP32可以实现哪些有趣的功能?

热门文章

  1. Intellij Idea将普通项目导出为jar包
  2. Unity协程的返回值
  3. oracle设置session空闲时间超时断开
  4. Java编程语言-介绍
  5. 性能诊断定位之CPU问题排查(一):win10环境1
  6. Oracle 数据统计计算
  7. 简单的proxy之TinyHTTPProxy.py
  8. FastAPI:快速开发一个文本转语音的接口
  9. 蓉创蜀兴丨HTTPS建设全解析
  10. SpringBoot企业级开发