输入两个正整数m和n,求其最大公约数和最小公倍数。
今天刚看到异常 来爽一下
- import java.util.Scanner;
- class Demo6
- {
- public static void main(String[] args)
- {
-
- while(true)
- {
- Scanner x=new Scanner(System.in); //打开扫描器
- try
- {
- System.out.print("请输入第一个数:");
- int m = x.nextInt();
- System.out.print("\n\r请输入第二个数:");
- int n = x.nextInt();
- Alg(m,n);
- }
- catch (Exception e)
- {
- System.out.println("哥们!输入数字好吗!!!");
- }
- }
- }
- public static void Alg(int m,int n){ //辗转相除法求最大公约数和最小公倍数。PS:源自《九章算术》和欧几里得的《几何原本》
- int temp; //定义一个中间变量
- int GYS=m,GBS=n; //定义变量来储存公约数和公倍数
- do
- {
- temp = m%n;
- m=n;
- n=temp;
- }
- while (temp!=0);
- GBS=(GYS*GBS)/m;
- GYS=m;
- System.out.println("最大公约数:"+GYS+"最小公倍数"+GBS);
- }
- }
复制代码
|