欧几里得算法

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;
}
}

简单学完HTML+CSS+JS,现在开始看算法(第四版)----欧几里得算法的更多相关文章

  1. 在w3cschool学完html,css,javascript,jquery以后,还是不会做前端怎么办?

    w3cschool是一个非盈利性的在线技术学习网站,提供按W3C标准编写的基础教程.完整的看完w3cschool上面的手册,可以基本掌握编程语法.基础性的东西通常都会比较零散,因此,在学习一段时间后, ...

  2. JS实现常用排序算法—经典的轮子值得再造

    关于排序算法的博客何止千千万了,也不多一个轮子,那我就斗胆粗制滥造个轮子吧!下面的排序算法未作说明默认是从小到大排序. 1.快速排序2.归并排序3.冒泡排序4.选择排序(简单选择排序)5.插入排序(直 ...

  3. 从零开始学JAVA(08)-使用SpringMVC4 Restful 风格引用静态文件 css/js/png

    在写完helloworld后想给网页加点样式(*.css),结果怎么也显示不了,百度了很多种方法后试行尝试,试验成功并记录下来,方便以后查看. 时隔两年,继续学习JAVA,太久没学了,忘记得差不多,还 ...

  4. html+css+js+Hbuilder开发一款安卓APP,根本不用学Android开发!

    我们知道,要做一款安卓APP,咱们得先学安卓开发语言,例如java,前端后端.那么没有这些开发语言基础,咱们怎么做呢?其实现在有比较好的开发方案就是做webAPP,咱们可以用web前端知识构建安卓客户 ...

  5. Django中简单添加HTML、css、js等文件(非正规添加,适合小白)

    Django中简单添加HTML.css.js等文件 首先申明下自己的环境, python版本3.65(亲测3.7版本有毒,没解决掉!) Django版本1.11.15(版本比较成熟,也可以用最新的版本 ...

  6. 学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat

    学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat 2019-05-09   19:28:42 注:项目(MyEclipse)创建的时候选择:Web Service Pr ...

  7. 36个JS特效教程,学完即精通

    6个JS特效教程,学完即精通   JavaScript特效教程,学完你就能写任何特效.本课程将JavaScript.BOM.DOM.jQuery和Ajax课程中的各种网页特效提取出了再进行汇总.内容涵 ...

  8. 6个JS特效教程,学完即精通

    6个JS特效教程,学完即精通 JavaScript特效教程,学完你就能写任何特效.本课程将JavaScript.BOM.DOM.jQuery和Ajax课程中的各种网页特效提取出了再进行汇总.内容涵盖了 ...

  9. 简单的html兼容(参考js和css的常规写法)

    参考往常css/js的浏览器选择加载 <!--[if lte IE 8]> <link rel="stylesheet" href="IEBrower. ...

随机推荐

  1. 《Coderxiaoban团队》第二次作业:团队项目选题报告

    <Coderxiaoban团队>第二次作业:团队项目选题报告 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验六 团队作业2:团队项目选题 团队名称 Co ...

  2. SQLyog 连接主机的时候出现错误

    这个 连接主机的时候出现: 这个时候打开cmd 找到mysql 的bin目录 输入 mysqld  -nt -remove  即可   直接登录,注意这里的d代表的是服务端 接下来就可以不用输入密码直 ...

  3. 浅谈BFC的理解

    在 web 页面布局中,有三种控制元素版式布局的模型: 普通流 (Flow) 元素在 HTML 中按照先后位置从上至下的流式排列方式布局. 浮动流(Float) 在浮动布局中,元素首先按照普通流的位置 ...

  4. WEB UI 上传URL附件(使用方法备份)

    FUNCTION zcrm_update_atta. *"------------------------------------------------------------------ ...

  5. WDA 新SELECT OPTION

    感谢肖总的提示,不然还不知道wda的新select option... 使用前提:SE24类:CL_WDR_SELECT_OPTIONS_20 核对了多个版本,ERP系统版本要S4 1701往上,CR ...

  6. 博客编辑器Open Live Writer的安装以及配置

    下载安装包 访问官网  http://openlivewriter.org/ 或者微软商店  https://www.microsoft.com/en-us/p/open-live-writer/9n ...

  7. python之value和布尔值

    之前做判断的时候如果遇到空列表,空字符串,可以直接使用当做判断条件.比如: s = "" if s: print(s) 不是打印s的,也就在这里if的判断条件是False. 所以, ...

  8. lumion室内渲染二6.3

    地板材质不够好,点击地面材质,编辑材质把视察调到没有,让地砖的凹凸变小.调大光泽和反射率. 如果找不自己想要的材质可以自己做材质.在浏览器中搜索大理石瓷砖贴图,保存到桌面.放到PS裁剪.裁剪为正方形的 ...

  9. 银行卡卡bin

    卡BIN指的是发卡行识别码,英文全称是 Bank Identification Number,缩写为 BIN.中文即“银行识别代码”  银行卡的卡号是标识发卡机构和持卡人信息的号码 一般是13-19位 ...

  10. Delphi中的日期加减

    var Date: TDateTime;  FormatSettings: TFormatSettings; begin Date := Now;//获取当天时间 ShowMessage(DateTo ...