C++函数求解三个整数的最大公因数和最小公倍数

【问题描述】编写函数,求三个整数的最大公因数和最小公倍数
【输入形式】输入三个整数,中间用空格隔开;
【输出形式】输出三个数对应的最大公因数和最小公倍数;
【样例输入】23 45 12
【样例输出】1 4140

//函数求解三个整数的最大公因数和最小公倍数
#include<iostream>
using namespace std;
int gys(int x,int y)
{return y==0?x:gys(y,x%y);}//求最大公因数 
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    cout<<gys(a,gys(b,c))<<" "<<(a*b/gys(a,b))*c/gys(a*b/gys(a,b),c);//gys(a,gys(b,c))表示最大公因数
    // (a*b/gys(a,b))*c/gys(a*b/gys(a,b),c表示a和b的最小公倍数与c再求一次最小公倍数 
    return 0;
}

    原文作者:知秋晨气润
    原文地址: https://blog.csdn.net/Shenrunchen/article/details/121021526
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞