【程序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; } }程序运行图: