算法训练 最小公倍数

来源:互联网 发布:淘宝售假次数清零吗 编辑:程序博客网 时间:2024/06/07 05:54

最小公倍数:几个自然数公有的倍数,叫做这几个数的公倍数,其中最小的一个自然数,叫做这几个数的最小公倍数
最大公约数:几个整数,公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数
本题求解最小公倍数,我的考虑是由于最大公约数通过辗转相除法计算简单,所以通过两个数的乘积除以最大公约数求的最小公倍数。
#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;}

0 0