編寫函數(shù)Gcd求兩個(gè)正整數(shù)的最大公約數(shù),將此公約數(shù)返回。主函數(shù)中讀入兩個(gè)正整數(shù)m和n,調(diào)用Gcd函數(shù),求m和n的最大公約數(shù)和最小公倍數(shù).說(shuō)明:(1)函數(shù)原型為 int Gcd(int ,int );(2)如果輸入的m和n中有一個(gè)不是正整數(shù),則用語(yǔ)句cout<<"error input.\n"; 輸出提示信息,程序結(jié)束(3)復(fù)制下列語(yǔ)句輸出結(jié)果: cout<<"Gcd="<<…<<",Lcm="<<…<<endl; 此句中兩處省略號(hào)處替換成你求最大公約數(shù)和最小公倍數(shù)的表達(dá)式#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貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
#include<iostream>using namespace std;int GCD(int m,int n); int GCD(int m,int n){ if(m<=0 || n<=0)//非正整數(shù) 包括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");這個(gè)調(diào)試的時(shí)候可以用 如果是自動(dòng)判斷系統(tǒng) 不要加這句 return 0;}
- 1 回答
- 0 關(guān)注
- 96 瀏覽
添加回答
舉報(bào)
0/150
提交
取消