《C语言入门100例》---第24题

 一、题目描述

  循环输入。每组数据,给定两个非负整数 a和 b(a,b≤109),求两者的最小公倍数。当没有任何输入时,程序结束。

方法:

(1)由数学公式可以推得

最大公因数*最小公倍数=这两个数的乘积

(2)先求出最大公因数,求法看上一讲

(3)然后利用公式求出结果即可

(4)先除后乘避免乘法溢出

代码如下:


#include <stdio.h>
int gcd(int a,int b)           //求最大公因数 
{
	if(b==0) 
	{
		return a;
	}
	return gcd(b,a%b);
}

int main() 
{
	int a,b;
	int max;
	while(scanf("%d%d",&a,&b)!=EOF) 
	{
		printf("%d\n",a/gcd(a,b)*b);
	}
	return 0;
	
}

上一篇:设计模式-模板模式


下一篇:简单聊一下AQS