vjudge 最大公约数GCD 一些很,,,的技巧

Posted qingyuyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vjudge 最大公约数GCD 一些很,,,的技巧相关的知识,希望对你有一定的参考价值。

原题链接https://vjudge.net/contest/331993#problem/C

 

输入2个正整数A,B,求A与B的最大公约数。

Input2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)Output输出A与B的最大公约数。Sample Input

30 105

Sample Output

15

#include<bits/stdc++.h>
using namespace std;
int main(){
    int m,n;
    cin>>m>>n;
    cout<<__gcd(m,n);   //直接调用函数求最大公约数
    return 0;
}

 m,n的最小公倍数为lcm(a,b) = a*b/gcd(a,b)

但写代码的时候要稍微做一些修改

#include<bits/stdc++.h>
using namespace std;
int main(){
    int m,n,x;
    cin>>m>>n;
    x=__gcd(m,n);   //最大公约数
    cout<<x<<endl;
    cout<<m/x*n<<endl;    //最小公倍数
    return 0;
}

 

以上是关于vjudge 最大公约数GCD 一些很,,,的技巧的主要内容,如果未能解决你的问题,请参考以下文章

GCD 与 LCM UVA - 11388

GCD最大公约数

关于两数的最大公约数gcd

[SDOI2009]SuperGCD 高精度GCD

[UVA-12716] GCD XOR 题解

中国剩余定理(孙子定理)