C++实验7-最大公约和最小公倍数


/*
* 文件名称: qg21.cop
* 作    者:  李秋谷
* 完成日期:   2016   年    06月   03日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:求解两个数的最大公约数和最小公倍数
* 问题描述:
* 程序输出:
* 问题分析: 略
* 算法设计:  运用辗转相除法
#include <iostream>
using namespace std;
int gcd(int,int);
int gcm(int,int);  
int main()  
{  
    int a,b,g1;      
    cout<<"请输入两个数:";      
    cin>>a>>b;      
    g1=gcd(a,b);      
    cout<<"最大公约数是: "<<g1; 
    cout<<endl; 
	int m,n,g2;
	cout<<"请输入两个数:";     
    cin>>m>>n;      
    g2=gcm(m,n);      
    cout<<"最小公倍数是: "<<g2; 
    cout<<endl;    
    return 0;   
}    
    int gcd(int x,int y)  
	{      
	int r;      
	   while(y>0)      
	   {          
		r=x%y;         
		x=y;          
		y=r;      
	   }      
	    return x; 
	} 
	int max,min;
    int gcm(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;
}


三:知识点总结

      求两个数的最大公约数和最小公倍数的程序最重要的是清楚他们的算法,return 0的返回操作不一定是要在结尾才能用

四:心得体会

      最大公约数的算法书上有,最小公倍数的算法是百度的。我发现  编写数学方面的程序你得学会用c++的语言表示出数学算法,两者之间要学会转化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值