核桃的数量
题目描述:
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
- 各组的核桃数量必须相同
- 各组内必须能平分核桃(当然是不能打碎的)
- 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
输入描述:
输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c< 30)
输出描述:
输出一个正整数,表示每袋核桃的数量。
输入样例:
2 4 5
输出样例:
20
本人AC代码:
#include<iostream>
using namespace std;
int func(int a,int b){
int c=a*b;
for(int i=a;i>0;i--){
if(i>a) continue;
if(a%i==0&&b%i==0){
c/=i;
a/=i;
b/=i;
}
}
return c;
}
int main()
{
int a,b,c;
while(cin>>a>>b>>c){
if(a>c){
a=a+c;
c=a-c;
a=a-c;
}
if(b>c){
b=b+c;
c=b-c;
b=b-c;
}
if(b<a){
a=a+b;
b=a-b;
a=a-b;
}
cout<<func(a,func(b,c))<<endl;
}
return 0;
}