/*
*
【程序6】
题目:输入两个正整数numberA和numberB,求其最大公约数和最小公倍数。
1.程序分析:利用辗转相除法。
举例:
84 40
84/40=2.。。4
40/4=10.。。0
最大公约数 为4 最小公倍数为84*40/4=840
*/
package JavaForPracticeDay5;
import java.util.Scanner;
public class Program6 {
public static void main(String[] args) {
//输入数据numberA numberB
Scanner sc = new Scanner(System.in);
System.out.println("请输入两个数字:");
int numberA = sc.nextInt();
int numberB = sc.nextInt();
//最大公因数 //最小公倍数
int b =0;//进行换算
int c =0;
int d = numberA;//保留numberA和numberB的值
int e = numberB;
for(int i = 0;;i++) {
if(numberA>numberB) {//大的数字/小的数字的余数 代替小的数字 小的数字代替大的数字
b=numberB;
numberB=numberA%numberB;
numberA=b;
if(numberB==0) {
System.out.println("最大公因数是:"+numberA);
c=d*e/numberA;
System.out.println("最小公倍数是:"+c);
break;
}
if(numberB==1) {
System.out.println("最大公因数是:"+numberB);
c=d*e;
System.out.println("最小公倍数是:"+c);
break;
}
}else {
b=numberA;
numberA=numberB%numberA;
numberB=b;
if(numberA==0) {
System.out.println("最大公因数是:"+numberB);
c=d*e/numberB;
System.out.println("最小公倍数是:"+c);
break;
}
if(numberB==1) {
System.out.println("最大公因数是:"+numberA);
c=d*e;
System.out.println("最小公倍数是:"+c);
break;
}
}
}
}
}
java for循环与if语句结合 通过辗转相除求 最大公约数和最小公倍数
最新推荐文章于 2023-04-15 18:36:45 发布