一、问题及代码
/*
* 文件名称:c++上机作业7---求最大公约数和最小公倍数
* 作 者:张琪
* 完成日期:2016 年 6 月 2日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:输入两个整数
* 问题描述:无
* 程序输出:两个数的最大公约数和最小公倍数
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
int max(int x,int y)
{
int m;
if(x<y)
{
m=x;x=y;y=m;
}
while(y!=0)
{
m=x%y;
x=y;
y=m;
}
return(x);
}
int min(int x,int y)
{
int max(int x,int y);
int m;
m=max(x,y);
return(x*y/m);
}
main()
{
int a,b,m,n;
cout<<"请输入两个整数a和b:";
cin>>a>>b;
m=max(a,b);
n=min(a,b);
cout<<"最大公约数是 "<<m<<" 最小公倍数是 "<<n<<endl;
return 0;
}
二、运行结果
三、心得体会
通过 本次作业,进一步熟悉了函数的使用,并掌握了辗转相除法
四、知识点总结
函数的定义和使用,辗转相除法,返回两个函数结果要注意通过函数返回最小公倍数,通过引用返回最大公约数