问题描述
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1. 各组的核桃数量必须相同
2. 各组内必须能平分核桃(当然是不能打碎的)
3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
输入格式
输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)
输出格式
输出一个正整数,表示每袋核桃的数量。
样例输入1
2 4 5
样例输出1
20
样例输入2
3 1 1
样例输出2
3
思路:
求三个数的最小公倍数。较小的两个数的公倍数与第三个数的公倍数即为答案。这里用1、2、3……乘以两个数中较大的数得到最小公倍数。
思路:
求三个数的最小公倍数。较小的两个数的公倍数与第三个数的公倍数即为答案。这里用1、2、3……乘以两个数中较大的数得到最小公倍数。
<span style="color:#000000;">#include <cstdio>
#include <algorithm>
using namespace std;
int ComMulti(int a, int b)
{
int ans, Max, Min;
Max = max(a, b);
Min = min(a, b);
for(int i = 1; ; i++)
{
ans = i * Max;
if(ans % Min == 0)
return ans;
}
}
int main()
{
int a[3], i, ans = 0, tmp;
scanf("%d%d%d", &a[0], &a[1], &a[2]);
sort(a, a + 3);
tmp = ComMulti(a[0], a[1]);
ans = ComMulti(tmp, a[2]);
printf("%d\n", ans);
return 0;
}</span>