算法思想:辗转相除法(r=a/b,知道r!=0为止)
#include<iostream>
using namespace std;
int main()
{
int max(int m,int n); //函数声明要加;
int min(int m,int n,int c);
int a,b,c,d;
cout<<"求两个数的最大公约数以及最小公倍数"<<endl;
cin>>a>>b;
cout<<"a="<<a<<" "<<"b="<<b<<endl;
c=max(a,b);
cout<<"最大公约数为"<<c<<endl;
d=min(a,b,c);
cout<<"最小公倍数为"<<d<<endl;
return 0;
}
int max(int m,int n)//辗转相除法
{
int r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}
int min(int m,int n,int c)//最小公倍数
{
return (m*n/c);
}