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的返回操作不一定是要在结尾才能用。
一、问题及代码
/*
* 文件名称: 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的返回操作不一定是要在结尾才能用。