热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

求GCD和LCM

GCD辗转相除法求最大公因数对于两个数a,b来说,如果ab,有aq*br,则(a,b
GCD

辗转相除法求最大公因数
对于两个数a,b来说,如果a > b,有 a = q*b + r,则(a, b)=(b, r);一直重复下去知道r等于0,则最后一个不为0的r就是(a, b)

package gcdAndLCM;
import java.util.Scanner;
//从键盘上输入数据
public class GCD {static int Gcd (int a, int b ) {int r = 0;if (b > a) {int t = a;a = b;b = t;}else {r = a % b;while (r != 0) {a = b;b = r;r = a % b;}}return b;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("输入整数a和b:");int a = scanner.nextInt();int b = scanner.nextInt();//这三行是用来从控制台输入a和b的整数值的//nextLine()输入字符串(换行为间隔); nextDouble()输入浮点数 ; next()输入字符串(空格为间隔)scanner.close();//使用玩Scanner之后一定要调用close()函数,否则会出现警告;int gcd = Gcd(a, b);System.out.println("最大公因数是:");System.out.println(gcd);}
}

LCM

求出GCD,用 a*b / GCD。


推荐阅读
author-avatar
湖黯之殇_257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有