欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

求两数最大公约数,最小公倍数-Java

发布时间:2025/1/21 java 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 求两数最大公约数,最小公倍数-Java 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

两数的最大公约数的计算是有数学规律的,程序只是按照规律辅助计算,其中包括了递归和循环两种实现。而最小公约数可由(m*n)/ (最大公约数)得到。具体代码如下:

package test;import java.util.*;/*求最大公约数和最小公倍数*/ public class MaxCommonDivisorAndMinCommonMultiple {public static void main(String[] args) {Scanner scan = new Scanner(System.in);// 接收控制台输入的信息System.out.print("请输入第一个整数:");int num1 = scan.nextInt(); // 取出控制台输入的信息System.out.print("请输入第二个整数:");int num2 = scan.nextInt(); // 取出控制台输入的信息System.out.println(maxCommonDivisor(num1, num2));// 调用maxCommonDivisor()方法System.out.println(minCommonMultiple(num1, num2));// 调用minCommonMultiple()方法}// 递归法求最大公约数public static int maxCommonDivisor(int m, int n) {if (m < n) {// 保证m>n,若m<n,则进行数据交换int temp = m;m = n;n = temp;}if (m % n == 0) {// 若余数为0,返回最大公约数return n;} else { // 否则,进行递归,把n赋给m,把余数赋给nreturn maxCommonDivisor(n, m % n);}}// 循环法求最大公约数public static int maxCommonDivisor2(int m, int n) {if (m < n) {// 保证m>n,若m<n,则进行数据交换int temp = m;m = n;n = temp;}while (m % n != 0) {// 在余数不能为0时,进行循环int temp = m % n;m = n;n = temp;}return n;// 返回最大公约数}// 求最小公倍数public static int minCommonMultiple(int m, int n) {return m * n / maxCommonDivisor(m, n);} } 输出结果:

请输入第一个整数:16 请输入第二个整数:12 4 48


总结

以上是生活随笔为你收集整理的求两数最大公约数,最小公倍数-Java的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。