#include <iostream>
using namespace std;int MaxY(int a,int b)
{int min, max;max=a>b?a:b;min=a<b?a:b;if(max%min==0)return min;elsereturn MaxY(min,max%min);
} int main()
{int a,b;cout<<"输入两个整数,用空格分隔,按回车键(Enter):";cin>>a>>b;cout<<"这两个整数的最大公约数为:"<<MaxY(a,b)<<endl;return 0;
}辗转相除法
借助最大公约数求最小公倍数
步骤:
一、利用辗除法或其它方法求得最大公约数
二、 最小公倍数等于两数之积除以最大公约数。
#include <iostream>
using namespace std;int MinY(int a,int b)
{int min, max;int r;max=a>b?a:b;min=a<b?a:b;if(max%min==0)return max;while(max%min!=0){r=max%min;max=min;min=r;}return a*b/min;
} int main()
{int a,b;cout<<"输入两个整数,用空格分隔,按回车键(Enter):";cin>>a>>b;cout<<"这两个整数的最小公倍数为:"<<MinY(a,b)<<endl;return 0;
}