1. 程式人生 > >藍橋杯練習系統

藍橋杯練習系統

問題描述

小張是軟體專案經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:

1. 各組的核桃數量必須相同

2. 各組內必須能平分核桃(當然是不能打碎的)

3. 儘量提供滿足1,2條件的最小數量(節約鬧革命嘛)

輸入格式

輸入包含三個正整數a, b, c,表示每個組正在加班的人數,用空格分開(a,b,c<30)

輸出格式

輸出一個正整數,表示每袋核桃的數量。

樣例輸入1

2 4 5

樣例輸出1

20

樣例輸入2

3 1 1

樣例輸出2

3

分析:我們要透過現象看本質,把這個生活中的問題數學化,看看它到底問我們什麼東西的。而這個題目實際上就是變相的問我們a,b,c的最小公倍數是多少。

下面就簡單了,先把a,b,c中最大的數字挑選出來,從此向後開始遍歷,直到出現第一個數字能將a,b,c三個數字同時整除時為止。

下面是程式碼:

import java.util.Scanner;

public class 歷屆真題1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int a=in.nextInt();
		int b=in.nextInt();
		int c=in.nextInt();
		int max=max(a,b,c);
		for(int i=max;;i++) {
			if(i%a==0&&i%b==0&&i%c==0) {
				System.out.println(i);
				break;
			}
		}
	}
	private static int max(int x,int y,int z) {
		int max;
		if(x<=y) {
			max=y;
		}
		else {
			max=x;
		}
		if(max>=z) {
			return max;
		}
		else {
			return z;
		}
	}
	
}