第九屆藍橋杯試題–猴子分香蕉
題目:
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