为什么这样也能求出最小公倍数最大公约数?
#include <stdio.h>int main(void)
{
int m, n, j, k; /* j表示最小公倍数,k表示最大公约数 */
do{
printf("Input m: ");
scanf("%d", &m);
printf("Input n: ");
scanf("%d", &n);
}while(m<0||n<0);
j = m;
while(j%n!=0) /* 调试时设置断点 */
j = j + m;
k = (m * n) / j; /* 调试时设置断点 */
printf("最小公倍数是%d \n最大公约数是%d\n ", j, k);
return 0;
}
求大神解释下红色字体的部分,根据我的理解这程序应该是求不出正确结果的,可事实就是可以,why??