问题标题: 酷町堂:1173

0
0

0
已采纳
郑怡翔
郑怡翔
初级天翼
初级天翼

Hello!何羽凡!

这道题用最大公约数和最小公倍数的关系写。

先定义m,n,temp,a1,a2。

然后输入m,n

把m赋值给a1,n赋值给a2

最后来个核心:

a1=m;a2=n;
    while(m%n)//求最大公因数
    {
        temp=m%n;
        m=n;
        n=temp;
    }

最大公因数搞定后输出n和a1*a2/n。

备注:a1*a2/n是知道最大公因数求最小公倍数的公式

郑怡翔在2018-07-20 05:27:16追加了内容

定义时要用long long

0
0
时梓繁
时梓繁
修练者
修练者

m=a;

n=b;

r=a%b;

while(r!=0)

{

a=b;

b=r;

r=a%b;

}

cout<<b<<" "<<m*n/b;

普通方法超时,要用辗转相除法(a,b,m,n,r为long long)

0
杨陈卓
杨陈卓
新手天翼
新手天翼
    while(m%n)
    {
        temp=m%n;
        m=n;n=temp;
    }

核心

注:要用long long

我要回答