题目:

写两个函数,分别求两个整数的最大公约数和最小公倍数。在主函数中输入两个数,分别调用这两个函数,并输出结果

思路分析:
  1. 最大公因数:用i循环,同时被a,b整除,将其存在g内,找到最大的g并输出
  2. 最小公倍数:=(a*b)/gcd(a, b)
代码实现:
#include<stdio.h>
int gcd(int a, int b)           //gcd最大公因数 
{
	int i = 0, g = 0;
	int m = 0;
	m = a < b? a : b;
	for(i = 1; i <= m; i++)
	{
		if(a%i == 0 && b%i == 0)
		{
			g = i;
		}
	}
	return g;
}
int lcm(int a, int b)           //lcm最小公倍数 
{
	return (a*b)/gcd(a, b);
}
int main()
{
	int a = 0, b = 0;
	int c = 0, d = 0;
	printf("Input number a, b:");
	scanf("%d%d",&a,&b);
	c = gcd(a, b);
	d = lcm(a, b);
	printf("Output gcd = %d, lcm = %d",c,d);
	return 0;
}
运行结果:在这里插入图片描述
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐