编写函数Gcd求两个正整数的最大公约数,将此公约数返回。主函数中读入两个正整数m和n,调用Gcd函数,求m和n的最大公约数和最小公倍数.说明:(1)函数原型为 int Gcd(int ,int );(2)如果输入的m和n中有一个不是正整数,则用语句cout<<"error input.\n"; 输出提示信息,程序结束(3)复制下列语句输出结果: cout<<"Gcd="<<…<<",Lcm="<<…<<endl; 此句中两处省略号处替换成你求最大公约数和最小公倍数的表达式#include<iostream>using namespace std;int GCD(int m,int n); int GCD(int m,int n){ if(m<0)cout<<"error input.\n";else if (m < n&&m>0){int tmp = m;m = n;n = tmp;}if (n == 0)return m;elsereturn 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;}
1 回答
RISEBY
TA贡献1856条经验 获得超5个赞
#include<iostream>using namespace std;int GCD(int m,int n); int GCD(int m,int n){ if(m<=0 || n<=0)//非正整数 包括0 { cout<<"error input.\n"; exit(0);//要求程序退出 } if (m < n){int tmp = m;m = n;n = tmp;}if (n == 0)return m;elsereturn 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;}
- 1 回答
- 0 关注
- 67 浏览
添加回答
举报
0/150
提交
取消