欧几里德算法

一:简介

欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数的算法,古希腊数学家欧几里德在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里德算法。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。

二:算法的简单演示

假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的:
 
当被加的数为 0 时,就得出了 1997 和 615 的最大公约数 1。
三:算法编程实现
(1)非递归实现
public class Main{public static void main(String[] args){int a=1997;int b=615;int r=0;while(b!=0){r=a%b;a=b;b=r;}System.out.println(a);}
}
(二)递归实现
public class Main{public static int divisor(int a,int b){if(a%b==0){return b;}else{return divisor(b,a%b);}}public static void main(String[] args){int a=1997;int b=615;System.out.println(divisor(a,b));}
}

神奇的算法(一):欧几里德算法相关推荐

  1. 欧几里德算法+拓展欧几里德算法

    欧几里德算法一般简写为GCD,即辗转相除求最大公因数,模板为 ll gcd(ll a,ll b) {return b==0?a:gcd(b,a%b); } 由于这种求的方法适用于大数,所以一般数据类型 ...

  2. 欧几里德算法 扩展欧几里德算法 求解丢番图方程

    欧几里德算法 即辗转相除法,计算整数A, B最大公约数. 基本算法:设 a = kb + r,其中a,b,k,r都是整数,则 gcd(a,b) = gcd(b,r),即 gcd(a,b) = gcd( ...

  3. 欧几里德算法 扩展欧几里德算法

    欧几里德算法 欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数. 计算公式:gcd(a,b) = gcd(b,a mod b). 算法实现: public static int g ...

  4. 【算法】欧几里德算法——求两个整数的最大公约数

    目录 1. 算法简介 2. 算法实现 2.1 暴力穷举法 2.2 欧几里德算法 1. 算法简介 欧几里德(Euclidean)算法,又被称辗转相除法,是求最大公约数的算法. 两个数的最大公约数是指能同 ...

  5. 基本算法-欧几里德算法(辗转相除法)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 近期购买了一本<图解算法C++>,回顾复习下算法知识.正好借此机会,将我在复习 ...

  6. 【数论基础】欧几里德算法及其各种应用

    目录: 欧几里德算法(辗转相除法) 1.问题引入:线段上格点的个数 2.输入两个正整数,求最大公约数和最小公倍数 3.P1029 最大公约数和最小公倍数问题 欧几里德算法(辗转相除法) 辗转相除法, ...

  7. 欧几里德算法(自写理解)

    gcd欧几里德算法  求取最大公约数gcd(a,b) 这个不用多说了 extgcd拓展欧几里德算法 用于求解 ax+by=gcd(a,b)的解 这个要多说一下 ax+by=c,(a,b,c都是常数) ...

  8. poj 2115 C Looooops(扩展欧几里德算法)

    题意: 对于for(i=A ; i!=B ;i+=C)循环语句,问在k位存储系统中循环几次才会结束. 比如:当k=4时,存储的数 i 在0-15之间循环.(本题默认为无符号) 若在有限次内结束,则输出 ...

  9. 欧几里德与扩展欧几里德算法——密码学笔记(五)

    一.欧几里德算法 又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a% ...

最新文章

  1. 自动驾驶汽车“定位”技术
  2. 口腔微生物——“你的大能量,超乎我想象”
  3. 使用泛型创建只读集合
  4. javascript 小结
  5. 算法训练营 重编码_编码训练营后十四天如何找到工作
  6. 《ArcGIS Runtime SDK for Android开发笔记》——(9)、空间数据的容器-地图MapView
  7. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)
  8. as3代码奇怪的bug
  9. 万能险被保监会叫停 安全投资理财大旗它将接手
  10. NHibernate剖析:Mapping篇之Mapping-By-Code(2):运用ModelMapper
  11. Python核心编程第二版 第七章课后练习 7-6. 列表和字典
  12. 用Vue3+element-plus+express写个简单的后台管理框架
  13. 医疗器械信息系统分析
  14. 183名中国学者入选2016全球高引作者榜 | 数据分析
  15. 用Lua实现基于观察者模型的游戏成就系统
  16. 开源项目推荐:我个人中意的Python/C++/.Net数学库(★精品收藏★)
  17. 腾讯云系统镜像和使用镜像创建云主机
  18. 阿里腾讯“互撕”升级,双方都豁出去了
  19. 超级推荐,Mac 端ssh连接工具termius
  20. 专业函数绘图软件Origin

热门文章

  1. android .reset(),Android驱动笔记(13)——PMIC reset介绍
  2. Regular Expression Simplificator
  3. union翻译成中文_union什么意思(union翻译成中文)
  4. LeetCode 417. 太平洋大西洋水流问题--BFS
  5. Ogre2.0 全新功能打造新3D引擎
  6. uni-app day02
  7. 初等几何(1):三角形、四边形、正多边形
  8. WebCollector初学教程
  9. 非华为电脑安装华为电脑助手后多屏协同功能无法使用修复经验
  10. java定义长方体类cuboid_Java实验指导书