鱼C论坛

 找回密码
 立即注册
查看: 4683|回复: 8

[已解决]请大家帮我看看这段代码有什么问题吗?

[复制链接]
发表于 2021-3-3 11:26:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么我得不到最小公倍数。。如果要修改的话 怎么修改呢??
在线等!!救救孩子吧!!
最佳答案
2021-3-3 12:00:59
    public static int greartestCommonDivisor(int m, int n) {
            int temp=1;
            while(temp!=0)
            {
                    temp=m%n;
                    m=n;
                    n=temp;
            }
            return m;
    }
截屏2021-03-03 上午11.13.57.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-3-3 11:27:14 | 显示全部楼层
问题出在第17行代码。。。可能其他的也有问题,孩子看不出来,跪求大佬帮助!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 11:34:40 | 显示全部楼层
代码发一下呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 11:36:37 | 显示全部楼层

啊。。我发了呀。。你们那边看不到吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 11:37:26 | 显示全部楼层
院长Nelson 发表于 2021-3-3 11:36
啊。。我发了呀。。你们那边看不到吗

我说可以复制粘贴的那种
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 11:38:47 | 显示全部楼层
洋洋痒 发表于 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;
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-3 11:39:23 | 显示全部楼层
院长Nelson 发表于 2021-3-3 11:38
/**
* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
*/

是这样吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 12:00:59 | 显示全部楼层    本楼为最佳答案   
    public static int greartestCommonDivisor(int m, int n) {
            int temp=1;
            while(temp!=0)
            {
                    temp=m%n;
                    m=n;
                    n=temp;
            }
            return m;
    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-3 12:25:46 | 显示全部楼层
你的代码用的递归
return greartestCommonDivisor(n, m % n);
return greartestCommonDivisor(n, m);
即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 22:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表