c/c++求最大公约数和最小公倍数


最大公约数GCD(Greatest Common Divisor)

最常见的求两个数的最大公约数的算法是辗转相除法,也叫欧几里得算法

该算法的c++语言实现如下:

#include<iostream>
using namespace std;
int gcd(int a,int b){
    return b==0?a:gcd(b,a%b);
}
int main(){
    int a=45,b=10;
    cout<<gcd(10,45);
}

Output

5

最小公倍数LCM(Lowest Common Multiple)

最大公倍数=a*b/最大公约数;

它的c++语言实现如下:

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

Output

5
90


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM