`
wsql
  • 浏览: 11754031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Euclide(欧几里德)算法求最大公约数

 
阅读更多

问题: 求数A和B的最大公约数.

原理:

1. 大数对小数进行取余操作, 如果结果为0, 小数为大数的约数.

2. 大数对小数取余, 如果结果不为0, 则结果必然是导致小数不能成为大数约数的因子.

过程:

1. A = A % B; /*用A取余B, 并将结果保存在A中. A丢失的那部分数据, 必然是B的n倍, 因此, 不影响求两数的公约数.*/

2. A = A ^ B;

B = A ^ B;

A = A ^ B; /* 利用位运算, 对A和B进行交换. 交换是为了保证在进行1操作的时候, 除数是大数, 被除数是小数. */

3. 重复1, 2两步, 直到A % B == 0;

C代码:

分享到:
评论

相关推荐

    Euclide-开源

    Euclide是用Java编写的动态几何应用程序。 它允许创建彼此依赖的几何形状(直线,点,圆,圆锥形...)和变换(旋转,对称...)。 移动形状也会移动依赖于它的形状。

    常用synopsys_dc命令详解汇编.pdf

    常用synopsys_dc命令详解汇编.pdf

    TikZ各子库说明.md

    可以使用 \usetikzlibrary 载入的TikZ 子库,比如 平面几何绘图包 tkz-euclide。翻译不易,仅供学习交流使用。

    OpenEuclide-开源

    OpenEuclide是2D几何软件:通过描述形式的几何约束来动态定义图形。 该项目是用于教学目的的基本工具:平面几何中的配置,矢量操纵...

    一种基于时序分析的大型重载支承轴隐蔽部位疲劳裂纹诊断方法 (2005年)

    大型重载支承轴隐蔽部位因发生不可观测的...运用模糊聚类分析方法,结合Euclide距离判别函数,找出与标准故障模式特征向量中隶属度最大的特征向量,从而有效诊断支承轴隐蔽部位疲劳裂纹状态的程度.最后通过实例验证了该

    数值计算.rar_matlab例程_matlab__matlab例程_matlab_

    牛顿迭代计算,找出方程的根,该方程没有有理根,也没有Euclide 无理根,然后近似给出了一个根,比较近似根与所求根的准确性

    基于自回归模型的螺纹连接松动诊断 (2012年)

    在螺纹连接模型上,改变某一个螺钉的预紧力,将正常工况下的差值信号作为参考总体,并以此建立AR模型,其他预紧力下的差值信号为待检总体,分别计算参考总体与待检总体之间的Euclide距离和 Mahalanobis距离。...

Global site tag (gtag.js) - Google Analytics