来源:
博文01:https://blog.csdn.net/qq_41933331/article/details/79795977
一、思路
1、两个数的最小公倍数可由它们的乘积除以他们的最大公约数得到。
因而首先求最大公约数,这里我们使用中学阶段学习的辗转相除法加以解决,举个栗子:
16,10,求最大公约数。
16%10=4(余数)
10%4=2
4%2=0(余数为0,所以此时2就是最大公约数)
用文字叙述这一过程为:用最大的数除以小的数,得到以后的余数,再用上次较小的数继续除以余数,直到余数为0,最后剩下的最小数即为最大公约数。
进而我们就可以得到最小公倍数。
解答示范
#include
#include int main()
{ int max &#61; 0; int min &#61; 0; int temp &#61; 0; int mul &#61; 0; printf("Please enter two number:\n"); scanf("%d %d", &max, &min); mul &#61; max * min; if (max < min){ temp &#61; max; max &#61; min; min &#61; temp; } while (max % min !&#61; 0){ temp &#61; min; min &#61; max % min; max &#61; temp; } printf("最大公倍数&#xff1a;%d\n", min); printf("最小公倍数&#xff1a;%d\n", mul/min); system("pause"); return 0;
}