java入门与进阶P-4.7
最大公约数
首先做这个题需要先复习几组概念:
如果数a能被数b整除,a就叫做b的倍数,b就叫做a的约数。
几个整数中公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。
举例:
12,16
12的约数有:1,2, 3, 4, 6, 12
16的约数有:1, 2, 4, 8, 16
故而最大的公约数为4。
求最大公约数有多种方法,常见的有辗转相除法。
1 private static int getMaxCommonDivisor(int a, int b) {
2 // 使a小,b大
3 if(a > b){
4 // 两个数交换
5 a = a + b;
6 b = a - b;
7 a = a - b;
8 }
9 int temp = a;
10 while(temp > 0){
11 if(a % temp == 0 && b % temp == 0){
12 break;
13 }
14 temp--;
15 }
16 return temp;
17 }
观察性质或者案例,我们可以知道最大公约数一定满足(对于数A和数B来说,最大公约数C),A%C=0且B%C=0。且最大。
java入门与进阶P-4.7的更多相关文章
- java入门与进阶 P-2.5+P-2.6
嵌套和级联的判断 嵌套的判断 当if的条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句 else的匹配 else总是和最近的那个if匹配 tips 在if ...
- Java入门与进阶 P-2.1+P-2.2
比较运算符 关系运算符(relational operators)也可以称为"比较运算符",用于用来比较判断两个变量或常量的大小.关系运算符是二元运算符,运算结果是 boolean ...
- Java入门与进阶 P-1.9+P-1.10
计算机的优先级 所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符.赋值运算符和三目运算符例外,其中,单目运算符.赋值运算符和三目运算符是从右向左结合 ...
- java入门与进阶P-1.7+P-1.8
赋值 通常在声明变量后,使用赋值语句给变量赋值. 在JAVA中将 "="作为 赋值运算符. 表达式:标识涉及值,变量和操作符的一个运算,他们组合在一起计算出一个新的值.所以赋值语句基本就是计算出一个值 ...
- java入门与进阶-P1.5+P1.6
输入 Scanner输入语句介绍 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Sca ...
- java入门与进阶-P1.3+P1.4
准备一个java编程软件 eclipse官网: Enabling Open Innovation & Collaboration | The Eclipse Foundation 他是一个免费 ...
- Java入门与进阶P-5.1+P-5.2
初识数组 一.数组 数组是用来存储一个元素个数固定且元素类型相同·的有序集. 数组的两个特点:大小是固定的,且确定之后是不能改变的:数组内的元素类型是相同的. 1.数组的定义(两种): int arr ...
- Java入门与进阶P-4.3+P-4.4
循环控制 素数 只能被1和自己整除的数,不包括1 2 3 5 7 11 13 17 19 ... 1.循环控制语句 可以在满足循环条件的请款下,反复的执行某一段代码,这段被重复执行的代码被称为循环体语 ...
- java入门与进阶 P-3.2+P-3.3+P3.4
数数字 例如:Scanner sc = new Scanner(System.in);int number = sc.nextInt();int count= 0;while(number>0) ...
- java 入门与进阶P-6.5+P-6.6
字符串操作 字符串是对象,对它的所有操作都是通过" . " 这个运算符来进行的 字符串.操作 他表示对.左边的这个字符串做右边的那个操作 这里的字符串可以是变量也可以是常量 Str ...
随机推荐
- Java安全之CC4,5,7
前言 前边已经将CC链中的关键部分学习差不多,接下来就是一些扩展思路, CC4 ObjectInputStream.readObject() PriorityQueue.readObject() Pr ...
- SQLSever事务
1. 为什么要使用事务? 当一个存储过程或多个SQL语句(指代insert.update.delete类型)依次执行时候, 如果其中一条或几条发生错误,但是其他的还会继续执行,会造成数据的不一致,非常 ...
- 基于实战的Burp Suite插件使用Tips
基于实战的Burp Suite插件使用技巧 本篇文章首发于奇安信攻防社区 目录 基于实战的Burp Suite插件使用技巧 免责声明: 0×00前言 0×01专业版激活 0×02插件的环境安装 0×0 ...
- scp工具上传下载
1.从本地复制到远程 scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@ ...
- 基于python的数学建模---机场航线设计
数据集 拿走: 链接:https://pan.baidu.com/s/1zH5xhpEmx2_u5qO9W4gCkw 提取码:2wl5 数据集来自航空业,有一些关于航线的基本信息.有某段旅程的起始点和 ...
- qtcreator配置cmake+mingw开发环境
环境准备 cmake 添加到PATH环境变量. mingw: 这里我用的mingw是Qt自带的,我将其添加到PATH环境变量中. 在cmd中执行 mingw32-make.exe 和 cmake查看命 ...
- 【数据库】PostgreSQL/PgSql-根据模式名和字段名查询有该字段的所有表信息【通过表元数据信息和函数实现】
一.利用表数据信息查询表和字段信息 (一)从pg_tables中查询表信息 select tablename from pg_tables where schemaname='ap' and tabl ...
- 【Java SE进阶】Day09 字节流、字符流、I/O操作、属性集
一.I/O概述 1.输入输出 输入:硬盘-->内存 输出:内存-->内存 2.流 字节流:一个字节等于8位 字符流:一个字符=2个字节 二.字节流 1.概述 以字节的方式读取/传输 可以读 ...
- Dubbo-服务暴露
前言 Dubbo源码阅读分享系列文章,欢迎大家关注点赞 SPI实现部分 Dubbo-SPI机制 Dubbo-Adaptive实现原理 Dubbo-Activate实现原理 Dubbo SPI-Wrap ...
- 全网最全的linux上docker安装oracle的详细文档,遇到了n个问题,查了几十篇文章,最终汇总版,再有解决不了的,私聊我,我帮你解决
目录 全网最全的linux上docker安装oracle的详细文档,遇到了n个问题,查了几十篇文章,最终汇总版,再有解决不了的,私聊我,我帮你解决 1. 拉取阿里镜像oracle 2. 创建初始化数据 ...