问题描述
小张是软件项目经理,他带领 3 个开发组。工期紧,今天都在加班呢;
为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑);
要求是:
- 各组的核桃数量必须相同
- 各组内必须能平分核桃(当然是不能打碎的)
- 尽量提供满足 1,2 条件的最小数量(节约闹革命嘛)
输入格式
- 输入包含三个正整数 a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)
输出格式
- 输出一个正整数,表示每袋核桃的数量。
样例
- 样例 1
输入:2 4 5
输出:20 - 样例2
输入:3 1 1
输出:3
思路
- 三个数的最小公倍数问题。
代码
package data;
import java.util.Scanner;
public class Data727 {
public static void main(String[] args)
{
int walnutsNum = 0;//每袋核桃的数量;
int max = 0;
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
int b = cin.nextInt();
int c = cin.nextInt();
if(a>b)
{
max = (a>c)?a:c;
}
else if(a<b)
{
max = (b>c)?b:c;
}
for(int i =max; i<=a*b*c; i++)
{
if(i % a ==0 && i%b == 0 && i%c == 0)
{
walnutsNum = i;
break;
}
}
System.out.println(walnutsNum);
}
}