一、問題及代碼
問題:從鍵盤中輸入兩個整數,求這兩個整數的最大公約數和最小公倍數
代碼:
/*
* 文件名稱:pr1
* 作 者:謝翊民
* 完成日期: 2016 年 6月4日
* 版 本 號:v1.0
* 輸入描述:兩個整數
* 問題描述:從鍵盤中輸入兩個整數,求這兩個整數的最大公約數和最小公倍數。
* 程序輸出:最大公約數和最小公倍數
* 問題分析:輾轉相除法
* 算法設計:
*/
#include<iostream>
using namespace std;
int fun(int m,int n,int &gcd)
{
int t,gbs,j;
j=m*n;
while(m%n!=0)
{
t=m;
m=n;
n=t%n;
}
gcd=n;
gbs=j/gcd;
return gbs;
}
int main()
{
int a,b,k,gcd,gbs;
cout<<"請輸入兩個整數:";
cin>>a>>b;
if(b>a)
{
k=a;
a=b;
b=k;
}
gbs=fun(a,b,gcd);
cout<<"最大公約數爲:"<<gcd<<endl;
cout<<"最小公倍數爲:"<<gbs<<endl;
return 0;
}
二、運行結果
三、心得體會
當自定義函數需要 返回多個變量時可以用引用的方法。
四、知識點
自定義函數的編寫,自定義函數的引用,輾轉相除法