太抠门了
0 历届试题 核桃的数量
问题描述:
小张是软件项目经理,他带领 3 个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
- 各组的核桃数量必须相同
- 各组内必须能平分核桃(当然是不能打碎的)
- 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
输入格式:
输入包含三个正整数 a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)
输出格式:
输出一个正整数,表示每袋核桃的数量。
样例输入 1:
2 4 5
样例输出 1:
20
样例输入 2:
3 1 1
样例输出 2:
3
1 做题思路 & 注意事项
其实就是求最小公倍数
2 参考代码(Java)
import java.util.Scanner;
public class Main
{
public static int gcd(int a,int b) { //最大公约数
if(a==0)
return b;
return gcd(b%a,a);
}
public static int min(int m, int n) { //最小公倍数=a*b/gcd(a,b)
return m * n / gcd(m, n);
}
public static void main(String args[])
{
Scanner sc =new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
int d=min(a,b); //先求 a,b 的最小公倍数,赋值给d
System.out.println(min(d,c)); //再求 d,c 的最小公倍数,输出
}
}