题解 | #求最小公倍数#
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
#include <stdio.h> int main() { //一个经典的解决最小公倍数的方式是辗转相除法,不过暂时可以不使用 //尝试一下自己的简单思路看看是否合适; int a,b; scanf("%d %d",&a,&b); if(a>b){ int tmp=a; a=b; b=tmp; }//保证b总是大的那个; long sum=1; for(int i=2;i<=a;){ if(a%i==0&&b%i==0){ sum*=i; a=a/i; b=b/i; } else{ i++; } } printf("%ld\n",sum*a*b); return 0; }
每次找到公因子,直到找到所有的公因子为止,而后将剩下的直接相乘(其中此时的a一定为1,则得到了对应的最小公倍数)