5 条题解

  • 0
    #include <iostream>
    using namespace std;
    
    int gcd(int a,int b);
    
    int main()
    {
        int a,b;
        cin>>a>>b;
        cout<<gcd(a,b)<<endl<<a*b/gcd(a,b);
        return 0;
    }
    
    int gcd(int a,int b)
    {
        return a%b==0?b:gcd(b,a%b);
    }
    
  • 0

    #include<bits/stdc++.h>
    using namespace std;
    int gcd(int a,int b)
    {
    if(a%b==0) return b;
    return gcd(b,a%b);
    }
    int lcm(long c,long d)//数据类型要改成long,不然会爆内存
    {
    for(int i=10000000;i>=0;i--)//这里的i只要取大点的数就行了
    if(c%i==0&&d%i==0)
    return (c*d)/i;
    }
    int main()
    {
    int a,b;
    cin>>a>>b;
    cout<<gcd(a,b)<<endl<<lcm(a,b)<<endl;
    return 0;
    }

  • 0
    @ 2021-01-25 17:19:14
    #include<iostream>
    using namespace std;
    int main()
    {
        int a,b;
        cin>>a>>b;
        //算最大公约数(辗转相除)
        int aa=a,bb=b,cc=aa%bb;
        while(cc)//cc为0 -> 结束循环
        {
            aa=bb;
            bb=cc;
            cc=aa%bb;
        }
        cout<<bb<<"\n"<<a/bb*b;
        
        return 0;
    }
    
  • 0
    @ 2019-11-19 14:23:53

    #include<stdio.h>//最大公约数,最小公倍数

    int main ()

    {

    int n,m,i,r,j;

    scanf("%d%d",&n,&m);

    j=1;

    r=1;

    while(j<=m&&j<=n)

    {

    if(m%j==0&&n%j==0)

    r=j;

    j++;

    }

    i=m/r*n;//注意:要先除后乘,这样可计算量会增大

    printf("%d\n%d",r,i);

    return 0;

    }

  • 0
    #include<iostream>
    using namespace std;
    
    int yue_shu(int a,int b)
    {
        int tmp;
        if(a<b)
        {
            tmp=a;
            a=b;
            b=tmp;
        }
        return b==0?a:yue_shu(b,a%b);
    }
    
    int bei_shu(int a,int b)
    {
        return a*b/yue_shu(a,b);
    }
    
    int main()
    {
        int x,y;
        cin>>x>>y;
        cout<<yue_shu(x,y)<<endl;
        cout<<bei_shu(x,y)<<endl;
    
        system("pause");
        return 0;
    }
    
  • 1

A6-1 最大公约数专题:最大公约数和最小公倍数

信息

难度
7
分类
(无)
标签
递交数
1480
已通过
256
通过率
17%
被复制
9
上传者