Problem Description:
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1. 各组的核桃数量必须相同
2. 各组内必须能平分核桃(当然是不能打碎的)
3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
如果输入 3 1 1 ,则 输出 3
Input:
输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c< 30)
Output:
输出一个正整数,表示每袋核桃的数量。
Sample Input:
2 4 5
Sample Output:
20
解题思路:
题目的意思就是求最小公倍数,可以先求出前两个数的最大公约数,然后再求其与第三个数的最小公倍数就可算出结果。
程序代码:
#include<stdio.h> int gcd(int a,int b) { int r; while(b!=0) { r=a%b; a=b; b=r; } return a; } int main() { int a,b,c,x,y; scanf("%d %d %d",&a,&b,&c); x=a*b/gcd(a,b); y=x*c/gcd(x,c); printf("%d\n",y); return 0; }