1 条题解

  • 0
    @ 2025-10-8 16:51:15

    G05 最大公约数 欧几里得算法

    #include<bits/stdc++.h>
    using namespace std;
    int gcd(int x, int y){return (y==0)?x:gcd(y, x%y);}
    int lcm(int x, int y){return x*y/gcd(x, y);}
    int main()
    {
        int n, m;scanf("%d%d", &n, &m);
        int ans=0;
        for(int i=n;i<=m;i+=n)
        {
            int j=m*n/i;
            if(j>=i)
            {
                if(gcd(i, j)==n&&lcm(i, j)==m)
                {
                    ans++;
                    if(i!=j) ans++;
                }
            }
            else break;
        }
        printf("%d", ans);
        return 0;
    }
    
    • 1

    G05【模拟】[NOIP 2001 普及组] 最大公约数和最小公倍数问题

    信息

    ID
    301
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    140
    已通过
    78
    上传者