藍橋杯練習系統
阿新 • • 發佈:2018-12-22
問題描述
小張是軟體專案經理,他帶領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; } } }