最小公倍数:
几个自然数公有的倍数,叫做这几个数的
公倍数
,其中最小的一个自然数,叫做这几个数的
最小公倍数
。
最大公约数:几个整数,公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。
本题求解最小公倍数,我的考虑是由于最大公约数通过辗转相除法计算简单,所以通过两个数的乘积除以最大公约数求的最小公倍数。
#include<stdio.h>
int lcm(int k,int t)//最小公倍数=两数的乘积/最大公约(因)数
{
int tt,r;
if(k<t){
tt=t;
t=k;
k=tt;
}
while(t>0){
r=k%t;//辗转相除法
k=t;
t=r;
if(r!=0) tt=r;
}
return tt;
}
int main(void){
int m,n;
scanf("%d %d",&m,&n);
printf("%d",m*n/lcm(m,n));
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-776.html