博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
辗转相除法、更相减损术(九章算术) 还是有点迷糊,
阅读量:4660 次
发布时间:2019-06-09

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

首先重点无论式辗转相除法还是更相减损术,最重要的原理是:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数 你可以这么理解, C=(A,B) ,C为A,B的最大公约数;即A,B都有公因数C,那么A-B也有公因数C,

                                          A%C=0;    B%C=0;     A%C-B%C=(A-B)%C=0

假设有两个数x和y,存在一个最大公约数z=(x,y),即x和y都有公因数z,

那么x一定能被z整除,y也一定能被z整除,所以x和y的线性组合mx±ny也一定能被z整除。(m和n可取任意整数)
对于辗转相除法来说,思路就是:若x>y,设x/y=n余c,则x能表示成x=ny+c的形式,将ny移到左边就是x-ny=c,由于一般形式的mx±ny能被z整除,所以等号左边的x-ny(作为mx±ny的一个特例)就能被z整除,即x除y的余数c也能被z整除。一直下操作,

 

最后就是更相减损术是拿来相减,而辗转相除是取余;当两个数很接近的时候前者算法效率高,两个数差距很大的时候后者效率高!

转载于:https://www.cnblogs.com/Left-Behind/p/7554000.html

你可能感兴趣的文章
Use "OR" in SQL with caution
查看>>
[super class] 和 [self superclass] 区别
查看>>
Visual Studio 2012 無法開啟 ASP.NET MVC2 專案的解決流程筆記
查看>>
mapreduce中map和reduce个数
查看>>
3 [面向对象]-组合,抽象类,接口
查看>>
2-[HTML]--介绍
查看>>
ffmpeg
查看>>
十进制转二进制的算法
查看>>
关于高校表白APP的用户模板和用户场景
查看>>
完美图解教程 Linux环境VNC服务安装、配置与使用
查看>>
leetcode 34. Search for a Range
查看>>
Swift基础学习笔记
查看>>
linux 程序更新,安装,执行 等等
查看>>
ACdream原创群赛(18)のAK's dream题解
查看>>
将本地 项目文件托管到 github
查看>>
MyBatis的foreach语句详解
查看>>
Words or Action, It Depends
查看>>
怎么样高效的学习机器学习?
查看>>
团队第一次冲刺
查看>>
Nginx常见配置:负载均衡、限流、缓存、黑名单和灰度发布
查看>>