天天看點

海盜喝酒

題目:有一群海盜(不多于20人)在船上比拼酒量,過程如下:打開一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再打開一瓶酒平分,又有倒下的,再次重複...... 直到開了第4瓶酒,坐着的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下後,大家都倒下了。等船長醒來,發現海盜船擱淺了。他在航海日志中寫到:“......昨天,我正好喝了一瓶.......奉勸大家,開船不喝酒,喝酒别開船......”

請你根據這些資訊,推斷開始有多少人,每一輪喝下來還剩多少人。

如果有多個可能的答案,請列出所有答案,格式是:人數,人數,...

例如,有一種可能是:20,5,4,2,0,請輸出其他可能性。

解析:

1.第四瓶酒喝完都倒下了。

2.船長一共喝了四次。

3.每一次喝酒,都有人醉了。(特别注意)

public class Main {

	public static void main(String[] args) {
		
		//第一次的人數
		for(int i=20;i>0;i--){        
			
			//第二次的人數
			for(int j=i-1;j>0;j--){
				
				//第三次的人數
				for(int k=j-1;k>0;k--){
					
					//第四次的人數
					for(int m=k-1;m>0;m--){
						
						if((j*k*m)+(i*k*m)+(i*j*m)+(i*j*k)==i*j*k*m){     //船長總共喝了一瓶
							
							System.out.print(i);
							System.out.print("\t"+j);
							System.out.print("\t"+k);
							System.out.print("\t"+m);
							System.out.println("\t"+0);
							
						}
					}
				}
			}
		}
	}
}
           

輸出答案如下:

海盜喝酒
上一篇: 數字謎
下一篇: 5.飲料換購