用java编写程序,输入两个正整数,利用辗转相除法求两个整数的最大公约数和最小公倍数

要简单的写法,太复杂看不懂。... 要简单的写法,太复杂看不懂。 展开
 我来答
baby_你好啊
2015-04-10 · TA获得超过155个赞
知道小有建树答主
回答量:41
采纳率:0%
帮助的人:57万
展开全部

自然语言描述

计算两个非负整数p 和q 的最大公约数:若

q 是0,则最大公约数为p。否则,将p 除以

q 得到余数r,p 和q 的最大公约数即为q 和

r 的最大公约数。

Java code 求公约数

public static int gcd(int p, int q)
{
    if (q == 0) return p;
    int r = p % q;
    return gcd(q, r);
}


公倍数就是两个数的积除以最大公约数。

public static int g(int p, int q)
{
    return p*q/gcd(q, r);
}
追问
谢谢你!因为才学,有没有用流程控制语句,如for、while、if 之类的?这个也行。
追答
    public static int gcd2(int p, int q)
    {
        if (q == 0) return p;
        int r = p % q;
        while(r !=0){
            p= q;
            q= r;
            r = p%q;
        }
        return q;
    }
    试试吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式