C语言计算两个数的最小公倍数

C语言计算两个数的最小公倍数

思路:最小公倍数是能同时整除两个数A,B的最小整数,可以慢慢从小到大寻找这个数:

#include<stdio.h>

int main()
{
	int a, b;
	scanf("%d%d", &a, &b);

	for (int i = 1; ; i++)
		if (i%a == 0 && i%b == 0)//寻找能同时整除a,b的整数i
		{
			printf("%d", i);
			break;//找到,退出
		}

	return 0;
}

当然,上面这个方法简单,但是循环的次数较多,可以从a,b中的较大值开始查找,以优化算法:

#include<stdio.h>

int main()
{
	int a, b;
	scanf("%d%d", &a, &b);
	
	if (a < b) //如果a
	{
		int temp;
		temp = a;
		a = b;
		b = temp;
	}

	for (int i = a; ; i++)
		if (i%a == 0 && i%b == 0)//寻找能同时整除a,b的整数i
		{
			printf("%d\n", i);
			break;
		}

	return 0;
}

C语言计算两个数的最小公倍数_第1张图片

你可能感兴趣的:(C语言)