题目:
求任意两个正整数的最小公倍数
解析:
定义两个正整数a、b,它们的最小公倍数范围一定不超过a*b,因此,循环遍历1到b与a(1到a与b亦可)相乘,1*a、2*a、3*a……b*a, 从小到大依对b(a)取余,第一个余数为零的就是二者的最小公倍数
逻辑:
for循环方便控制起始点,if判断打印结果
参考代码:
// 求任意两个正整数的最小公倍数
#include <stdio.h>
int lcm(int x, int y)
{
int i = 1;
for (i = 1; i < y; i++)
{
if (i * x % y == 0)
{
return i * x;
}
}
}
int main()
{
unsigned int a = 0;
unsigned int b = 0;
scanf("%u %u", &a, &b);
unsigned int res = lcm(a, b);
printf("%u\n", res);
return 0;
}
运行结果: