您的位置:首页 > 其它

最大公约数和最小公倍数

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的最大公因数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: