请大家帮我看看这段代码有什么问题吗?
为什么我得不到最小公倍数。。如果要修改的话 怎么修改呢??在线等!!救救孩子吧!! 问题出在第17行代码。。。可能其他的也有问题,孩子看不出来,跪求大佬帮助!! 代码发一下呗 洋洋痒 发表于 2021-3-3 11:34
代码发一下呗
啊。。我发了呀。。你们那边看不到吗
院长Nelson 发表于 2021-3-3 11:36
啊。。我发了呀。。你们那边看不到吗
{:5_104:}我说可以复制粘贴的那种 洋洋痒 发表于 2021-3-3 11:37
我说可以复制粘贴的那种
/**
* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
*/
public class Subject6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要求最大公约数和最小公倍数的两个数字");
System.out.println("请输入第一个数字m:");
int a = scanner.nextInt();
System.out.println("请输入第二个数字n:");
int b = scanner.nextInt();
//求最小公倍数
System.out.println("最小公倍数为:" + a * b / greartestCommonDivisor(a, b));
}
/**
* 求m和n的最大公约数:
* 辗转相除法求最大公约数:›
*
* @return
*/
public static int greartestCommonDivisor(int m, int n) {
if (m > n) {
if (m % n == 0) {
System.out.println("最大公约数为:" + n);
} else {
greartestCommonDivisor(n, m % n);
}
} else {
greartestCommonDivisor(n, m);
}
return n;
}
} 院长Nelson 发表于 2021-3-3 11:38
/**
* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
*/
{:5_100:}是这样吗 public static int greartestCommonDivisor(int m, int n) {
int temp=1;
while(temp!=0)
{
temp=m%n;
m=n;
n=temp;
}
return m;
} 你的代码用的递归
return greartestCommonDivisor(n, m % n);
return greartestCommonDivisor(n, m);
即可
页:
[1]