主要是通过一个定理来求:假设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; }