最大公约数和最小公倍数

最大公约数:

方法:辗转相除法

递归边界:0和任意一个整数a的最大公约数都是a

递归式:gcd(a.b)=gcd(b,a%b);

递归边界:gcd(a,0)=a;

#include<iostream>
using namespace std;
int gcd(int a,int b){
    if(b==0){
        return a;
    }
    else return gcd(b,a%b);
} 

int main(){
    int a,b;
    cin>>a>>b;
    cout<<gcd(a,b);
    return 0;
}

 最小公倍数:

根据a*b=最大公约数c*最小公倍数d

可求出最大公约数c与两数乘积a*b做除法

d=a*b/c

 

posted @ 2020-08-19 09:41  Heinrich♣  阅读(87)  评论(0编辑  收藏  举报