法一:(效率较低,因为是一个一个试除的)
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf_s("%d %d", &a, &b);
//两个数:例如m和n,求最小公倍数要么是这两个数中较大的那么,如果不是就将最大的一直+1,知道找到,同时%这两个数为0,这个数就是最小公倍数
int m = (a > b ? a : b);//m接收两个数中较大的那个
while (1)
{
if (m % a == 0&&m%b==0)
{
break;
}
m++;
}
printf("%d\n", m);
return 0;
}
法二:
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf_s("%d %d", &a, &b);
//若m能同时整除a和b必能写成:a*i=b*j=m
//所以比如5 7,把5*1看得到的结果能不能整除7,不能就a*2看得到的结果能不能整除7,以此类推,直到找到能整除7的,那就是最小公倍数
int i = 1;
while (a * i % b)
{
i++;
}
printf("%d\n", i * a);
return 0;
}