思路分析:首先我们要清楚什么是最小公倍数。
最小公倍数和:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数
从定义可以看出最小公倍数是不小于两个数的
我们有两种思路
方法一:递加法
选定输入的一个数然后依次+1,一直到两数的最小公倍数
方法二:利用最大公约数求最小公倍数,两数相乘的积除以这两个数的最大公约数就是最小公倍数。
方法一:#include <stdio.h>
int main()
{
int m, n, i;
printf("请输入两个正整数\n");
scanf("%d%d", &m, &n);
for (i = m; i > 0; i++)
{
if (i % m == 0 && i % n == 0)
break;
}
printf("%d,%d的最小公倍数为:%d", m, n, i);
return 0;
}
方法二:
#define _CRT_SECURE_NO_WARNINGS 1;
//vc6.0等vs2013以下版本可忽略
#include<stdio.h>
int main()
{
int m, n, gcd, ji, lcm;//ji表示积,gcd表示最大公约数,lcm表示最小公倍数
int i;
printf("请输入两个正整数\n");
scanf("%d %d", &m, &n);
for (i = 1; i <= m && i <= n; ++i)
{
// 判断 i 是否为最大公约数
if (m % i == 0 && n % i == 0)
gcd = i;
}
printf("%d 和 %d 的最大公约数是 %d\n", m, n, gcd);
ji = m * n;
lcm= ji / gcd;
printf("%d,%d的最小公倍数:%d\n", m, n, lcm);
}