天天看點

第九屆藍橋杯Java試題2--猴子分香蕉

第九屆藍橋杯試題–猴子分香蕉

題目:

5隻猴子是好朋友,在海邊的椰子樹上睡着了。這期間,有商船把一大堆香蕉忘記在沙灘上離去。

第1隻猴子醒來,把香蕉均分成5堆,還剩下1個,就吃掉并把自己的一份藏起來繼續睡覺。

第2隻猴子醒來,重新把香蕉均分成5堆,還剩下2個,就吃掉并把自己的一份藏起來繼續睡覺。

第3隻猴子醒來,重新把香蕉均分成5堆,還剩下3個,就吃掉并把自己的一份藏起來繼續睡覺。

第4隻猴子醒來,重新把香蕉均分成5堆,還剩下4個,就吃掉并把自己的一份藏起來繼續睡覺。

第5隻猴子醒來,重新把香蕉均分成5堆,哈哈,正好不剩!

請計算一開始最少有多少個香蕉。

需要送出的是一個整數,不要填寫任何多餘的内容。

思路:

這道題我用的是最笨的的方法–暴力破解,首先要大緻确定一個範圍,讓一開始的香蕉的個數能夠在這個範圍内,然後通過循環将範圍内的數進行周遊,逐個判斷數是否符合題意的五個條件。

代碼:

public class Demo1 {

	public static void main(String[] args) {
		for(int n=1000;n<=10000;n++) {
			if((n-1)%5==0) {    //第一個條件
				int a=(n-1)*4/5;
				if( (a-2)%5==0 ) {  //第二個
					int b=(a-2)*4/5;
					if( (b-3)%5==0 ) {  //第三個
						int c=(b-3)*4/5;
						if((c-4)%5==0) { //第四個
							int d=(c-4)*4/5;
							if(d%5==0) {  //第五個
								System.out.println(n);
								return;
							}
						}
					}
				}
			}
		}
	}
}

           

結果:

3141