题目描述:
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
- 各组的核桃数量必须相同
- 各组内必须能平分核桃(当然是不能打碎的)
- 尽量提供满足1, 2条件的最小数量(节约闹革命嘛)
程序从标准输入读入:
a b c
a, b, c都是正整数,表示每个组正在加班的人数,用空格分开(a, b, c < 30)
程序输出:
一个正整数,表示每袋核桃的数量。
例如:
用户输入:
2 4 5
程序输出:
20
再例如:
用户输入:
3 1 1
程序输出:
3
#include<stdio.h>
int gcd(int x, int y)
{
if (y == 0)
return x;
return gcd(y, x % y);
}
int lcm(int a, int b, int c)
{
int tmp = a * b/gcd(a, b);
return tmp * c / gcd(tmp, c);
}
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d\n", lcm(a, b, c));
return 0;
}
结果如下