`
coolsooner
  • 浏览: 1315036 次
文章分类
社区版块
存档分类
最新评论

二进制最大公约数算法

阅读更多

求最大公约数的Euclid算法需要用到大量的取模运算,这在大多数计算机上是一项复杂的工作,相比之下减法运算、测试数的奇偶性、折半运算的执行速度都要更快些。

二进制最大公约数算法避免了Euclid算法的取余数过程。

二进制最大公约数基于下述事实:

  1. 若a、b都是偶数,则gcd(a,b)=2*gcd(a/2,b/2)
  2. 若a是奇数、b是偶数,则gcd(a,b)=gcd(a/2,b/2)
  3. 若a、b都是奇数,则gcd(a,b)=gcd((a-b)/2,b)

因此可写出二进制最大公约数算法如下(C语言版):

或者

分享到:
评论

相关推荐

    二进制最大公约数,第 1 部分:该程序使用二进制 gcd 算法找到最大公约数-matlab开发

    该程序使用二进制 gcd 算法找到最大公约数,如 Menezes、van Oorschot 和 Vanstone 的《应用密码学手册》中所述。

    二进制最大公约数,第 2 部分:该程序使用二进制 gcd 算法找到 gcd,如 https://www.di-mgt.com.au/euclidean.html#code-binarygcd-matlab开发

    该程序使用二进制 gcd 算法找到最大公约数,如https://www.di-mgt.com.au/euclidean.html#code-binarygcd

    C#,最大公约数(GCD)斯坦因(Stein)算法的源代码

    Stein 算法或二进制 GCD 算法是计算两个非负整数的最大公约数的算法。 Stein 的算法用算术移位、比较和减法代替除法。Stein算法是一种计算两个数最大公约数的算法,是针对欧几里德算法在对大整数进行运算时,需要试...

    c++简单习题求两个整数的最大公约数和最小公倍

    1. 求两个整数的最大公约数和最小公倍数。 2. 输入一个int型数,将它的低四位(右四位)都置为1(低四位按二进制考虑)。 3. 鸡兔共有35只,脚共有1000只,编程计算鸡兔各有多少只。 <br>4. 编程求满足下列...

    ACM 算法经典代码 数据结构经典代码

    6. 最大公约数欧拉函数 8 二.图论_匹配 9 1. 二分图最大匹配(hungary邻接表形式) 9 2. 二分图最大匹配(hungary邻接表形式,邻接阵接口) 10 3. 二分图最大匹配(hungary邻接阵形式) 10 4. 二分图最大匹配(hungary正向...

    python 实现 数学中经典问题 课程设计 代码

    递归伽马函数,高斯函数,高斯误差线性单元,N个数的最大公约数,最大公约数,贪婪找零,汉明数,Hardy-Ramanujan算法,六边形数,辛普森近似法求积分,判断IPv4地址是否有效,判断是否为平方数,Jaccard相似度,喬...

    易语言经典算法

    十进制转为二进制 九连环 找窃贼 哥德巴赫猜想 最小生成数 农夫过河 旅游最省钱路径 马克思手稿中的数学题 上楼梯(递归).e 上楼梯(非递归) 金额大小写转换 求一元二次方程的根(二分法) 数字与IP地址间的转换 八皇后...

    acm常用代码及算法

    最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 ...

    所有算法均以C#实现。-.NET开发

    概述算法数据压缩Huffman压缩机Shannon-Fano压缩机编码器Caesar Vigenere Hill背包问题朴素求解器动态规划求解器数值分解LU最大公约数欧几里德GCD二进制GCD分解试验除法高斯-约旦消除搜索A-星二进制线性快速搜索...

    ACM函数整理_ACM模板.pdf

    7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT 10.Ronberg 算法计算积分 11.行列式计算 12.求排列组合数 13.求某一天星期几 14.卡特兰(Catalan) 数列原理 15.杨辉三角 16.全排列 17.匈牙利算法----...

    ACM算法模板和pku代码

    最大公约数 a^b mod n 扩张欧几里德算法 素数表质因子分解 Stirling公式 中国剩余定理 欧拉数(递推法) 欧拉数(公式法) 十进制转负进制 归并排序求逆序数 Pell方程 Catalan数,100以内 欧拉函数讲解 组合...

    C C++算法实例.c

    1.求两数的最大公约数 2.求两数的最小公倍数 3.素数的求法 二、图论算法 1.最小生成树 A.Prim算法: B.Kruskal算法:(贪心) 2.最短路径 A.标号法求解单源点最短路径: B.Floyed算法求解所有顶点对之间的最短...

    ACM常用代码

    最大公约数、最小公 倍数 8.组合序列 9.快速傅立叶变换 (FFT) 10.Ronberg 算法计算积 分 11.行列式计算 12.求排列组合数 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 计算几何: 1.叉乘法求任意多边形 ...

    30个初级常用python实现脚本 中文pdf高清版

    资源包含新手必备的Python三十个常见的脚本汇总,包括冒泡算法之...23、最大公约数 23、最小公倍数 24、简单计算器 25、生成日历 26、文件IO 27、字符串判断 28、字符串大小写转换 29、计算每个月天 30、获取昨天的日期

    常用算法代码

    | GCD 最大公约数 26 | 快速 GCD 26 | 扩展 GCD 26 | 模线性方程 A * X = B (% N) 26 | 模线性方程组 26 | 筛素数 [1..N] 26 | 高效求小范围素数 [1..N] 26 | 随机素数测试(伪素数原理) 26 | 组合数学相关 ...

    易语言5.0自带源代码[经典数学算法集.rar]

    45.十进制转为二进制 46.九连环 47.找窃贼 48.哥德巴赫猜想 49.最小生成数 50.农夫过河 51.旅游最省钱路径 52.马克思手稿中的数学题 53.上楼梯(递归).e 54.上楼梯(非递归) 55.金额大小写转换 56.求一元二次方程的根...

    ACM 内部预定函数

    7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 13.求某一天星期几 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 4.LCS...

    《妙趣横生的算法(C语言实现)》(杨峰 编著)

    5.2 求两个数的最大公约数和最小公倍数 5.3 歌德巴赫猜想的近似证明 5.4 三色球问题 5.5 百钱买百鸡问题 5.6 判断回文数字 5.7 填数字游戏求解 5.8 新郎和新娘 5.9 爱因斯坦的阶梯问题 5.10 寻找水仙花数 5.11 猴子...

Global site tag (gtag.js) - Google Analytics