求最小公倍数的三种方法
1.常规暴力求解法
2.辗转相除法
3.迭乘法
//1.常规暴力求解法
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int max = a > b ? a : b; //取得a,b中的最大值
while (max % a != 0 || max % b != 0) //如果不能同时整除a,b
{
max++;
}
printf("%d", max);
return 0;
}
//辗转相除法
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
//循环输入a,b
while (scanf("%d %d", &a, &b))
{
int c = a;//将a赋值给c
int d = b;//将b赋值给d
//使a是大的值
if (a < b)
{
int x = a;
a = b;
b = x;
}
int tmp = b;//tmp存放a和b的最大公约数
while (a % b)
{
tmp = a % b;
a = b;
b = tmp;
}
//(c*d)除以最大公约数,就是最小公倍数
printf("%d和%d的最小公倍数是:%d\n",c,d,(c * d) / tmp);
}
return 0;
}
//3.迭乘法
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int i = 1;
while ((a * i) % b != 0)
{
i++;
}
printf("%d", i * a);
return 0;
}