java求最大公约数和最小公倍数(笔记)

java求最大公约数和最小公倍数(笔记),第1张

使用:三元运算符,for循环,if语句

代码

		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入第一个正整数:");
		int m = scan.nextInt();
		System.out.println("请输入第二个正整数:");
		int n = scan.nextInt();
		
		int min = (m <= n) ? m : n;
		for(int i = min ; i >= 1; i--){
			if(m % i == 0 && n % i == 0){
				System.out.println("最大公约数为:"+i);
				break;
			}
		}
		int max = (m >= n) ? m : n;
		for(int i = max ; i <= m*n; i++){
			if(i % m == 0 && i % n == 0){
				System.out.println("最小公倍数为:"+i);
				break;
			}	
	    }

结果:

分析:

求最大公约数i,i一定在1~min(两数较小的一个)之间,因此,使用for循环在1~min之间由大到小进行遍历,第一个满足要求的就是最大公约数,然后使用break结束程序,否则会输出所有公约数

最小公倍数同理,只不过最小公倍数是在max(两数较大的一个)和m*n之间由小到大进行遍历。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/725477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存