输入两个正整数m和n,求其最大公约数和最小公倍数
在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
辗转相除法求最大公约数
package com.gyy.exercise;
import java.util.Scanner;
public class exercise06 {
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
int n = console.nextInt();
int m = console.nextInt();
int temp;
int product = m*n;
//使m成为最大值
if(m < n)
{
temp = m;
m = n;
n = temp;
}
while(n != 0)
{
temp = m % n;
m = n;
n = temp;
}
System.out.println(m);
System.out.println(product/m);
}
}