首页 > 代码库 > 【数论】辗转相除法

【数论】辗转相除法

AOJ 0005 题目是英文的,我就不具体翻译了。就是求最大公约数和最小公倍数。

 

(补充下 设两个数是a,b最大公约数是p,最小公倍数是q
那么有这样的关系:ab=pq
所以q=ab/p)

技术分享
#include<iostream>#include<cstdio>using namespace std;int gcd(int a,int b){    if(b==0) return a;    return gcd(b,a%b);} int lcm(int a,int b){    return a/gcd(a,b)*b;}int main(){    int a,b;    while(cin>>a>>b) {        cout<<gcd(a,b)<<" "<<lcm(a,b)<<endl;    }    return 0;}
GCD和LCM

 

POJ 2429 挖坑待续

POJ 1930 挖坑待续

【数论】辗转相除法