每天一道JavaSE基础题(六、最大公约数和最小公倍数:输入两个正整数m和n,求其最大公约数和最小公倍数。 )

    技术2022-07-16  79

    **每天一道JavaSE基础题(六、最大公约数和最小公倍数:输入两个正整数m和n,求其最大公约数和最小公倍数。 )**

    【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

    程序分析: 利用辗除法 最大公约数=其中较小的那个数和两数的相除余数 最小公倍数 = (a * b)/最大公约数

    程序代码:

    package SE50T; import java.util.Scanner; /* * 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 * 程序分析: 利用辗除法 * 最大公约数=其中较小的那个数和两数的相除余数 * 最小公倍数 = (a * b)/最大公约数 */ public class T6 { public static void main(String[] args) { System.out.print("请输入正整数 m 的值:"); Scanner sc = new Scanner(System.in); int m = sc.nextInt(); System.out.print("请输入正整数 n 的值:"); int n = sc.nextInt(); int a = Gys(m,n); int b = m*n/a; System.out.println(m+"和"+n+"的最大公约数为:"+a+",最小公倍数为:"+b); } public static int Gys(int x,int y){ int t; if(x<y){ t=x; x=y; y=t; } while (y!=0){ if(x==y){ return 1; }else { int k = x % y; x=y; y=k; } } return x; } }

    程序运行图:

    Processed: 0.010, SQL: 9