package euclidean_algorithm;import java.util.Scanner;/*** @author ALazy_cat* 欧几里得算法的自然语言描述:*    计算两个非负整数x和y的最大公约数: 若y = 0,则最大公约数为x; 否则将remainder = x % y,x和y的* 最大公约数即为y和remainder的最大公约数 */
public class EuclideanAlgorithm {public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.print("请输入两个整数: ");int x = 0, y = 0;x = in.nextInt();y = in.nextInt();System.out.println("x, y的最大公约数是: " + euclideanAlgorithm_01(x, y, 1));System.out.println("---------------------");System.out.println("x, y的最大公约数是: " + euclideanAlgorithm_02(x, y, 1));}//欧几里得算法的递归实现public static int euclideanAlgorithm_01(int x, int y, int count) {//当y = 0时,递归结束int remainder = 0;System.out.println("第" + count++ + "次递归: " + "x = " + x + " , " + "y = " + y);if (y == 0)return x;remainder = x % y;return euclideanAlgorithm_01(y, remainder, count);}//欧几里得算法的循环实现public static int euclideanAlgorithm_02(int x, int y, int count) {int remainder = 0;while (y != 0) {System.out.println("第" + count++ + "次循环: " + "x = " + x + " , " + "y = " + y);remainder = x % y;x = y;y = remainder;}System.out.println("第" + count++ + "次循环: " + "x = " + x + " , " + "y = " + y);return x;}
}

欧几里得算法的实现(Java)相关推荐

  1. Java除法结果带小数、进一法的实现(java)

    Java除法结果带小数.进一法的实现(java) Java除法结果带小数.进一法的实现(java) 进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位 ...

  2. 拓展欧几里得算法java实现

    扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展.除了计算a.b两个整数的最大公约数,此算法还能找到整数x.y(其中一个很可能是负数). 通常谈到最大公因子时, 我们都会提到一个非常基本的事实: ...

  3. Java除法结果带小数、进一法的实现 Java问题通用解决代码

    http://blog.csdn.net/windone0109/article/details/5355379进一法: 即省略的位上只要大于零都要进一位 :  四舍五入法: 即省略的位上小于五都要舍 ...

  4. 文本分类算法之--贝叶斯分类算法的实现Java版本

    package com.vista; import java.io.IOException;       import jeasy.analysis.MMAnalyzer; /** * 中文分词器 * ...

  5. sha 2 java加密_MD5、SHA、SHA-2算法的实现(Java)

    概念 摘要算法是 一种能产生特殊输出格式的算法,这种算法的特点是:无论用户输入什么长度的原始数据,经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种 ...

  6. java开发抢红包算法,抢红包算法的实现-java

    二倍均值法 原理 原理 剩余红包金额M,剩余人数N,那么:每次抢到金额=随机(0,M/N*2) 保证了每次随机金额的平均值是公平的 假设10人,红包金额100元 第一人:100/10*2=20,随机范 ...

  7. java源码阅读Object

    1 类注释 Class {@code Object} is the root of the class hierarchy. Every class has {@code Object} as a s ...

  8. 写给大忙人看的java_《写给大忙人看的Java核心技术》读后感

    看了作者的推荐序,里面有一段话我非常有感触: 现在的许多开发人员,一来就马上上手SSH做项目,把功能模块等实现了就OK. 完全就不关注性能的问题,其框架的好处是啥(如spring的容器管理依赖注入切面 ...

  9. java算法:递归算法

    java算法:递归算法 递归算法时通过解决相同问题的一个或几个小例子来解决问题的算法.在java中,实现递归方法就是调用自身的方法. 例1:阶乘函数递归实现 Java代码 staticintfacto ...

最新文章

  1. 项目发布: error CS0103: 当前上下文中不存在名称“*****”
  2. python对列表进行去重_Python对列表去重的4种方法
  3. airflow mysql_Airflow 使用及原理分析
  4. Python学习笔记:利用Pyforest导入本地已安装的库
  5. vue人员轨迹_Vue项目(vuecli3.0搭建)集成高德地图实现路线轨迹绘制
  6. 文件那些事儿之一(初稿)
  7. MYSQL等级考试考的是Linux吗,Linux命令行下快速监控mysql
  8. c++类的成员函数作回调函数为啥要声明为static的
  9. 关于在for循环中绑定事件打印变量i是最后一次。
  10. C#实体更新指定的字段
  11. 华为NP课程笔记10-BGP案例讲解
  12. STM32——FLASH闪存编程原理与步骤
  13. 68pin SCSI接头针脚排序
  14. 2022年智能马桶行业发展趋势
  15. ThreadPoolExecutor中的submit()方法详细讲解
  16. KB、MB、GB等和KiB、MiB、GiB等的区别
  17. 华为od统一考试B卷【分月饼】C++ 实现
  18. ubuntu 16换源方法
  19. 温哥华岛大学计算机科学,温哥华岛大学有几个校区?
  20. Docker curriculum (2): 构建自己的镜像

热门文章

  1. Creo 9.0 基准特征:基准坐标系
  2. 网站首页被篡改? 看我使用PhantomJS利器实现网站自动监控修改并截图发送企业微信预警
  3. 射线与圆、球相交检测
  4. day06三级缓存 二次采样
  5. js 只准输入数字_js 限制input只能输入数字
  6. 极其简单的JDK安装步骤(图文)
  7. Nature综述:鸟枪法宏基因组-从取样到数据分析——2万字带你系统入门宏基因组实验和分析
  8. WEB编程开发常用的代码[转]
  9. 机房消防报警系统及气体灭火防护的设计方法
  10. 如何在m1芯片上运行android模拟器