(java学习之路之重新开始)实现求解最小公倍数和最大公约数

这里求最小公倍数没啥说的,主要就是说一下求最大公约数,之前写代码一需要求最大公约数就开始从数字1开始遍历累加for循环,真心的累啊。其实呢,完全可以倒过来求,再结合break就求得结果。不得不说,正着来是一种习惯性性的常规,逆着却可以带来新发现。

话不多说,直接上代码;

import java.util.Scanner;

class NumDeal{
     
	
	public static void main(String[] args){
     
		
		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入第一个整数:");
		int m = scan.nextInt();
		
		System.out.println("请输入第二个整数:");
		int n = scan.nextInt();
		
		//求最大公约数
		int minNum = (m < n)? m : n;
		for(int i = minNum;i >= 1;i--){
     
			if(m % i ==0 && n % i == 0){
     
				System.out.println("最大公约数为:" + i);
				break;
			}
		}
		
		int maxNum = (m > n)? m : n;
		//求最大公约数
		for(int j = maxNum;j <= m * n;j++){
     
			if(j % m == 0 && j % n == 0){
     
				System.out.println("最小公倍数为:" + j);
				break;
			}
		}
	}
	
}

你可能感兴趣的:(JAVA)