package data;
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc=new Scanner(System.in); //接受信息
System.out.println("请输入第一个整数: ");
int a = sc.nextInt(); //取出控制台输入的信息
System.out.println("请输入第二个整数: ");
int b = sc.nextInt(); //取出控制台输入的信息
System.out.println("最大公约数为:"+ maxDivisor(a,b));//调用maxDivisor1()方法
System.out.println("最小公倍数为:"+minMultiple(a,b));//调用minMultiple()方法
}
//循环法求最大公约数
public static int maxDivisor(int a, int b) {
//保证a> b,若a<b,则进行数据交换
if(a < b) {
int temp = a;
a=b;
b = temp;
}
//在余数不为0时,继续进行循环
while (a % b!= 0) {
int temp=a % b;
a=b;
b=temp;
}
return b;
}
//求最小公倍数
public static int minMultiple(int a, int b){
return a*b/maxDivisor(a,b);
}
}
java:求两个正整数的最大公约数
最新推荐文章于 2024-08-03 08:45:00 发布