您的位置:首页 > 编程语言 > C语言/C++

c++第七次实验(项目2:最大公约和和最小公倍数)

2016-06-06 01:32 357 查看

一、问题及代码

/*

* 文件名称: ashley7-22

* 作    者:  黄艺璇

* 完成日期:      2016年   6 月  5  日

* 版 本 号:v1.0

* 对任务及求解方法的描述部分:从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数,最大公约数采用的算法是辗转相除法(具体算法可用百度)。其中编写自定义函数实现求最大公约数和最小公倍数

* 输入描述:  无

* 问题描述: 从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数。

* 程序输出:  最大公约数,最小公倍数

* 问题分析:  略

* 算法设计:  略

*/

#include<iostream>
using namespace std;
int GCD(int a,int b),LCM(int a,int b);
int main()
{
int a,b,gcd,lcm;
cout<<"求两个数的最大共公约数及最大公倍数"<<endl;
cout<<"请输入两个正整数:";
cin>>a>>b;
gcd=GCD(a,b);
lcm=LCM(a,b);
cout<<"它们的最大公约数为:"<<gcd<<endl<<"它们的最小公倍数为:"<<lcm;
return 0;
}
int GCD(int a,int b)
{
if(!b)
return a;
else return GCD(b,a%b);
}
int max,min;
int LCM(int x,int y)
{
int r;
max=x>y?x:y;
min=x<y?x:y;
if(max%min==0)
return max;
while(max%min!=0)
{
r=max%min;
max=min;
min=r;
}
return x*y/min;
}

二、运行结果



三、心得体会

  这次的c++题目是要自己函数在使用自己定义函数,需要在网上寻找相关的信息,认真检查是否正确。

四、知识点总结

  运用自定义函数,结合百度的辗转相除法,函数的编写与数学存在很大关系,而return 0的返回操作不一定是要在结尾才能用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: