辗转相除法是用一个大的数除以一个小的数,如果有余数,就用被除数➗余数,如果还有余数就继续用(上一个公式的) 被除数➗余数,直到余数为0时停止。当余数为0的时候,除数➗被除数=商……余数(为0) 此时的被除数就是最大公约数(最大公因数)。
例如:
最小公倍数就等于这两个数的乘积数以最大公约数
例如求a,b的最小公倍数
最小公倍数 = a*b /(a与b的最大公约数)
#includeint main() { int a = 0; int b = 0; int c = 0;//余数 int t = 0; printf("请输入两个数:"); scanf("%d %d",&a,&b); //判断a,b的大小,大的放在前面 if(b>a) { int tmp = a; a = b; b = tmp; } //因为最小公倍数=a*b/最大公约数 //1.a*b t = a * b; //2.最大公约数 while(c=a%b)//如果余数不为零进入循环 { a = b;//把被除数的值赋给除数 b = c;//把余数的值赋给被除数 } t = t / b;//最小公倍数 printf("最小公倍数为:%d",t); return 0; }
输出结果为



