- /**
- * 有一群海盗(很少于20人),在船上比拼酒量。过程以下:打开一瓶酒,全部在场的人平分喝下,有几我的倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,你们都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝你们,开船不喝酒,喝酒别开船......”
- 请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。
- 若是有多个可能的答案,请列出全部答案,每一个答案占一行。
- 格式是:人数,人数,...
- 例如,有一种多是:20,5,4,2,0
- * @author Administrator
- *
- */
- public class test3 {
- public static void main(String[] args) {
- for (int i = 20; i>3; i--) { //总人数
- for (int j = i-1; j > 2; j--) { //喝完第一瓶酒后剩下的人
- for (int j2 = j-1; j2 >1; j2--) { //喝完第二瓶酒后剩下的人
- for (int k = j2-1; k>0; k--) { //喝完第三瓶酒后剩下的人
- if (((1.0/i)+(1.0/j)+(1.0/j2)+(1.0/k))==1) {
- System.out.print(i+" ,"+j+","+j2+","+k+","+0);
- System.out.println();
- }
- }
- }
- }
- }
- }
- }