问题标题: 酷町堂:1173为什么错了?

0
0
已解决
李源徽
李源徽
新手光能
新手光能
{
    int u,v,y,m;
    cin>>u>>v;
    for(int i=1;i<=u;i++)
    {
        if(u%i==0&&v%i==0) 
        {
            y=i;
        }
    }
    for(int i=1;;i++)
    {
        if(i%u==0&&i%v==0) 
        {
            m=i;
            break;
        }
    }
    cout<<y<<" "<<m;
    return 0;
}

70分。

后三个测试点错了。

超时。


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
0
0
0
李乐凡
李乐凡
新手光能
新手光能

你可以去看测试点,这题我也不会,我也问了

0
栾峻岩
栾峻岩
初级天翼
初级天翼

加头文件:

#include <bits/stdc++.h>

int a=gcd(x,y);//最大公因数

因为x*y=x和y的最小公倍数*最大公因数。

输出a和x*y/a;

0
何楷睿
何楷睿
高级守护
高级守护

加头文件:

#include <bits/stdc++.h>

int a=gcd(x,y);//最大公因数

因为x*y=x和y的最小公倍数*最大公因数。

输出a和x*y/a;

0
我要回答