求两个数的最大公约数和最小公倍数
Posted aininot260
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求两个数的最大公约数和最小公倍数相关的知识,希望对你有一定的参考价值。
求最大公约数利用辗转相除法:
long long gcd(long long a,long long b) { if(b==0) return a; else return gcd(b,a%b); }
求最小公倍数时,利用两数的乘积除以这两个数的最大公约数即可:
long long lcm(long long a,long long b) { long long tmp=a*b; tmp=tmp/gcd(a,b); return tmp; }
完整代码如下,输入两个数n和m,输出这两个数的最大公约数和最小公倍数:
#include<iostream> using namespace std; long long gcd(long long a,long long b) { if(b==0) return a; else return gcd(b,a%b); } long long lcm(long long a,long long b) { long long tmp=a*b; tmp=tmp/gcd(a,b); return tmp; } int main() { long long n,m; cin>>n>>m; cout<<gcd(n,m)<<endl<<lcm(n,m); return 0; }
以上是关于求两个数的最大公约数和最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章