最大公约数/最小公倍数

主要是通过一个定理来求:假设m和n的最大公约数是x,最小公倍数是y,则mn=xy

/*
 * @Issue: 输入m,n两个正整数,求出m,n的最小公倍数
 * @Author: 一届书生
 * @LastEditTime: 2020-02-26 19:57:20
 */
#include<iostream>
using namespace std;

int main(){
    int m,n,max,min,i;
	cout<<"请输入两个数(逗号隔开):"<<endl;
	cin>>m>>n;
	if(m>n)
	{
        swap(m,n);
	}
	for(i=m;i>0;i--)
	{
		if(m%i==0 && n%i==0)
		{
			max=i;
			min=m*n/max;
			break;
		}
	}
	cout<<"这两个数的最小公倍数是"<<min<<endl;
    return 0;
}

  

/*
 * @Issue: 输入m,n两个正整数,求出m,n的最大公约数
 * @Author: 一届书生
 * @LastEditTime: 2020-02-26 20:02:37
 */
#include<iostream>
using namespace std;

int main(){
    int m,n,max,min,i;
	cout<<"请输入两个数(逗号隔开):"<<endl;
	cin>>m>>n;
	if(m>n)
	{
        swap(m,n);
	}
	for(i=m;i>0;i--)
	{
		if(m%i==0 && n%i==0)
		{
			max=i;
			// min=m*n/max;     有这句就是最小公倍数。
			break;
		}
	}
	cout<<"这两个数的最大公约数是"<<max<<endl;
    return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/52dxer/p/12368740.html