蓝桥杯算法之核桃的数量

问题的提出:
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:

  1. 各组的核桃数量必须相同
  2. 各组内必须能平分核桃(当然是不能打碎的)
  3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)
    输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)
    输出一个正整数,表示每袋核桃的数量。

具体算法的思路:
首先,当用户输入三个数的时候,要将着三个数字获取到,而且这三个数是按照空格来区分的,那么此时就在告诉你,可以按照空格通过字符串调用split()方法将这三个数分开,存储到一个数组当中,然后将这三个数取出即可。

具体代码实现如下:
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/注意:在蓝桥杯比赛提交系统当中,绝对不能出现一下中文字样,所以不能写提示信息,不然结果即使正确也会不通过!/
//System.out.println(“请输入每个组正在加班的人数,(各数字之间用空格分开):”);
//获取用户的输入
String str = scanner.nextLine();
//将输入的数据按照数字分开
String[] strs = str.split(" ");
//获得第一个数字
String s1 = strs[0];
int num1 = Integer.parseInt(s1);
//获得第二个数字
String s2 = strs[1];
int num2 = Integer.parseInt(s2);
//获得第三个数字
String s3 = strs[2];
int num3 = Integer.parseInt(s3);
if (num1>=30||num2>=30||num3>=30){
// System.out.println(“输入的人数不满足条件a,b,c都要小于30!”);
return;
}
//能够运行到这里说明输入的条件满足题意
//定义一个变量,表示给每组发一袋核桃中数量
int num;
for (num = 1;num>=1;num++){
//各组内必须平均分配
if(num%num1==0
&&num%num2
==0&&num%num3
==0){
System.out.print(num);
break;
}
}
}

}

猜你喜欢

转载自blog.csdn.net/weixin_56068397/article/details/114789952