最大公约数和最小公倍数
2016-03-21 13:49
155 查看
package java算法; /* * 输入两个数,求其最大公约数和最小公倍数 * */ import java.util.Scanner; public class comonDivisor { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); int first=a; int second=b; System.out.println("a="+a+" "+"b="+b); int temp; if(a<b){ temp=a; a=b; b=temp; } while(b!=0){ //用辗转相除法求两个数的最大公约数 temp=a%b; a=b; b=temp; } System.out.println("最大公约数为:"+a); System.out.println("最小公倍数:"+first*second/a); } }
一.辗转相除法
例1 。求两个正数8251和6105的最大公因数。
(分析:辗转相除→余数为零→得到结果)
解:8251=6105×1+2146
显然8251与6105的最大公因数也必是2146的因数,同样6105与2146的公因数也必是8251的因数,所以8251与6105的最大公因数也是6105与2146的最大公因数。
6105=2146×2+1813
2146=1813×1+333
1813=333×5+148
333=148×2+37
148=37×4+0
则37为8251与6105的最大公因数。
相关文章推荐
- 数据库的锁机制
- 使用C++日志库log4cplus
- cropper插件实现头像截取
- 使用C++日志库log4cplus
- apache http + php 服务模式中, Basic认证的基本配置
- windows系统间pc同步数据
- 蓝桥杯--基础练习
- [转] Webpack 入门指迷
- hdu 4647 Another Graph Game 贪心
- linux2.6内核的DAC数据结构(传统9Bit模式、ACL模式)
- Nginx服务器的反向代理proxy_pass配置方法讲解
- AS混淆基本配置解释及语法
- 日常收集整理正则表达式验证大全
- Tell me about yourself
- 并发之痛 Thread,Goroutine,Actor
- 字符串驻留
- Abp框架之审计日志
- 添加判断
- android studio 自定义路径安装报错"You are attempting to install the android SDK
- 关于java线程(1)