一个Java的简单小程序(4)

xiaoxiao2021-02-27  217

//导包 import java.util.Scanner; /** 问题:输入两个正整数m和n,求其最大公约数和最小公倍数 分析: 1.键盘录入 a.导入java的包 b.创建Scanner对象 c.调用方法获取输入数据 2.数学求值 a.使用for循环,从1开始到m与n中的较小值,依次验证是否是最大公约数 b.使用do...while循环,从m与n中的较大值开始,依次验证是否是最小公倍数 */ class Math{ public static void main(String[] args){ //键盘输入并接收 Scanner sc=new Scanner(System.in); int m=sc.nextInt(); int n=sc.nextInt(); math(m,n);//调用方法math } public static void math(int m,int n){ //比较大小并排序 if(m>n){ m=m^n; n=m^n; m=m^n; } //寻找最大公约数 int a=0,b; for(int i=1;i<=m;i++){ if((m%i==0)&&(n%i==0)){ a=i; } } System.out.println("最大公约数为"+a); //寻找最小公倍数 int j=n; boolean boo=false; do{ b=j; j++; if((b%m==0)&&(b%n==0)){ boo=true; } } while(boo==false); System.out.println("最小公倍数为"+b); return; } }
转载请注明原文地址: https://www.6miu.com/read-9809.html

最新回复(0)