题解 | #合并表记录#

gcd来了

https://ac.nowcoder.com/acm/problem/15425

两种方法1.递归,2.辗转相除法


using namespace std;
typedef long long ll;
//递归
ll gcd(ll a,ll b)
{
    return b == 0? a: gcd(b,a%b);
}
//辗转相除法
ll gcd_1(ll a,ll b)
{
    while(b)
    {
        ll c = a%b;
        a = b;
        b = c;
    }
    return a;
}
int main()
{
    ll a,b;
    while(cin>>a>>b)
    {
        ll m = gcd(a,b);
        ll p = a/m*b;//防止溢出
        cout << m << " "<<p<<endl;
    }
    return 0;
}
全部评论

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务