最小公倍数 - 九度教程第48题
题目:
时间限制:1 秒 内存限制:128 兆 特殊判题:否
题目描述:
给定两个正整数,计算这两个数的最小公倍数。
输入:
输入包含多组测试数据,每组只有一行,包括两个不大于 1000 的正整数。
输出:
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
样例输入:
10 14
样例输出:
70
解析:
求a,b的最小公倍数,即求最小正整数c,满足c%a=0,c%b=0。
a,b两数的最小公倍数为两数的乘积除以它们的最大公约数。
把求最小公倍数问题统一到了求最大公约数上来。
代码:
#include<stdio.h>
int gcd(int a,int b) //求最大公约数
{
return b!=0?gcd(b,a%b):a;
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
printf("%d\n",a*b/gcd(a,b)); //输出两数乘积与最大公约数的商
}
return 0;
}