C语言——求最小公倍数


前言

最小公倍数定义:
两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。

求最小公倍数

正整数 a 和正整数 b 的最小公倍数,是指能被 a 和 b 整除的最小的正整数。请你求 a 和 b 的最小公倍数。
比如输入5和7,5和7的最小公倍数是35,则需要返回35
输入描述:
输入两个正整数。
1≤a,b≤100000
输出描述:
输出最小公倍数。

一、讲解

讲解:
假设 5 7 两个数;
1.先假定最小公倍数是这两个数中的较大值,比如说 5 和 7 假定最小公倍数就是 7 看7能不能同时整除 5 和 7 不行就看8 9 10 …每一次加一,看能不能整除 5 和 7 当到 K 时,第一个能同时整出 5 和 7 的数字 就是我们最小公倍数

法二思路

二. 代码

下面展示一些 内联代码片

// 法一  效率低 
//一个整形能表示的范围是四十二亿多
int main()
{
	long long  a, b;
	scanf("%lld %lld", &a, &b);
	// 求最小公倍数
	long long  m = a > b ? a : b; //假设a和b的较大值就是我们的最小公倍数
	while (1)
	{
		if (m % a == 0 && m % b == 0)
		{
			break;
		}
		m++;
	}

	printf("%lld\n", m);
	return 0;
}
// 法二
//
int main()
{
	long long  a, b;
    scanf("%lld %lld", &a, &b);
	// 求最小公倍数
	long long i = 1;
	while (a * i % b )
	{
		i++;
	}

	printf("%lld", a*i);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/Ghr_C99/article/details/130877157