作业帮 > 综合 > 作业

c++中gcd函数求最大公约数最小公倍数

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/21 13:03:35
c++中gcd函数求最大公约数最小公倍数
编写函数Gcd求两个正整数的最大公约数,将此公约数返回.主函数中读入两个正整数m和n,调用Gcd函数,求m和n的最大公约数和最小公倍数.
说明:(1)函数原型为 int Gcd(int ,int );
(2)如果输入的m和n中有一个不是正整数,则用语句cout
#include<iostream>
using namespace std;
int GCD(int m,int n);                 
int GCD(int m,int n)
{  
\x09if(m<=0 || n<=0)//非正整数 包括0
\x09{
\x09cout<<"error input.\n";
\x09exit(0);//要求程序退出
\x09}
 if (m < n)
{
int tmp = m;
m = n;
n = tmp;
}
if (n == 0)
return m;
else
return GCD(n,m % n);
}
int main()
{    
 int m,n,gcd;
    cin>>m>>n;
 gcd=GCD(m,n); 
  cout<<"Gcd="<<gcd<<",Lcm="<<m*n/gcd<<endl; 
 //system("pause");这个调试的时候可以用 如果是自动判断系统 不要加这句
 return 0;
}