編寫函數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 關注
- 88 瀏覽
添加回答
舉報
0/150
提交
取消