辗转相除法:求最大公约数和最小公倍数
2018-03-26 21:23
260 查看
这么简单哈哈哈我大一C语言都会做!
方法一:常规算法#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int main()
{
int m,n,r,p;
cin>>m>>n;
p=m*n;
if(m<n)
swap(m,n);
r=m%n;
while(r)
{
m=n;
n=r;
r=m%n;
}
cout<<n<<" "<<p/n<<endl;
}方法二:递归算法#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int gcd(int m,int n)
{
return m%n?gcd(n,m%n):n;
}
int main()
{
int m,n,r,p;
cin>>m>>n;
p=m*n;
cout<<gcd(m,n)<<" "<<p/gcd(m,n)<<endl;
}
方法一:常规算法#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int main()
{
int m,n,r,p;
cin>>m>>n;
p=m*n;
if(m<n)
swap(m,n);
r=m%n;
while(r)
{
m=n;
n=r;
r=m%n;
}
cout<<n<<" "<<p/n<<endl;
}方法二:递归算法#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int gcd(int m,int n)
{
return m%n?gcd(n,m%n):n;
}
int main()
{
int m,n,r,p;
cin>>m>>n;
p=m*n;
cout<<gcd(m,n)<<" "<<p/gcd(m,n)<<endl;
}
相关文章推荐
- 辗转相除法求两个数的最大公约数和最小公倍数
- 用辗转相除法求最大公约数和最小公倍数(附Java源码)
- 辗转相除法求最大公约数与最小公倍数
- 求最小公倍数,最大公约数(辗转相除法)
- 辗转相除法求最大公约数最小公倍数
- 辗转相除法求最大公约数,最小公倍数。
- 辗转相除法求两个数的最大公约数和最小公倍数
- 用辗转相除法求最大公约数和最小公倍数 并用这求两个分数间的大小
- //防止数据溢出先除再乘//辗转相除法求最大公约数最小公倍数------一I
- 利用辗转相除法求两数的最大公约数和最小公倍数(附源码)
- 两个数的最大公约数和最小公倍数(利用辗转相除法)
- 求最大公约数,最小公倍数,辗转相除法
- C 语言 计算最大公约数和最小公倍数(辗转相除法和普通方法)
- 辗转相除法求最大公约数及最小公倍数的求法
- C语言--辗转相除法求最大公约数和最小公倍数
- 辗转相除法求最大公约数 最小公倍数(Java)
- 初学python:辗转相除法求两个数的最大公约数和最小公倍数
- 辗转相除法 求最大公约数和最小公倍数
- 更相损减法和辗转相除法 求最大公约数和最小公倍数(C语言)
- 求最大公约数和最小公倍数(辗转相除法)