用java求最大公约数-怎么求有几个约数
发布时间:2023-03-25 16:14 浏览次数:次 作者:佚名
**
Java代码实现求两个整数的最大公约数和最小公倍数。
**
发布的第二篇博文,希望大家多多支持!!!
用java代码求两个整数的最大公约数和最小公倍数首先要明白如何求最大公约数和最小公倍数,背后的算法是什么.
1.首先需要写一段代码,分出输入两个整数的大小,将大的赋值给max,小的赋值给min。
2.求最小公倍数的方法:
(1).max 对 min 进行求余,余数用remainder表示(reminder=max%min)。
(2).如果remainder等于0则min就是 max和min的最大公约数。
(3).如果reminder不等于0,则将min赋给max,将reminder赋给min。
(4).循环进行(1).(2).两步最后min即为最大公约数。
3.求最小公倍数的算法:
最小公倍数 = (max * min)/最大公约数。
具体的详细流程请看下面代码:
import java.util.Scanner;
public class CommonDivisorAndMultiple {
public static void main(String[] args){
int x,y,max,min,a,remainder,c;
Scanner input = new Scanner(System.in);
System.out.println("请输入第一个整数:");
x = input.nextInt();
System.out.println("请输入第二个整数:");
y = input.nextInt();
if (x>y){ //将输入的两个值,大的赋给max,小的赋给min.
max = x;
min = y;
}else{
max = y;
min = x;
}
a = max*min;
remainder = max%min; //求最大公约数算法:
while (remainder != 0){ //1.max 对 min 进行求余,余数用remainder表示(reminder=max%min)
max = min; //2.如果remainder等于0则min就是 max和min的最大公约数
min = remainder; //3.如果reminder不等于0,则将min赋给max,将reminder赋给min。
remainder = max % min; //4.进行1.2.两步最后min即为最大公约数
}
c = a/min; //求最小公倍数的的算法:
System.out.println("最大公约数是"+min); //最小公倍数 = (max * min)/最大公约数。
System.out.println("最小公倍数是"+c);
}
}
综上是全部内容,有不对的地方希望大佬指正,谢谢支持!!!