解题思路:
注意事项:
参考代码:
public class 幸运儿 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); while (in.hasNext()) { int n = in.nextInt(); int[] peoplesNum = new int[n]; int[] goOutNum = new int[n - 2]; for (int i = 0; i < peoplesNum.length; i++) { peoplesNum[i] = i + 1; } int j = 0; int k = 2; int countZero = 0; for (int i = 1; i < peoplesNum.length; i += k) { goOutNum[j++] = peoplesNum[i]; peoplesNum[i] = 0; countZero++; if ((i + k) > peoplesNum.length - 1) { if (countZero == (n - 2)) { break; } for (int z = 1; z < peoplesNum.length; z++) { if (peoplesNum[z] == 0) { continue; } else { k = k * 2; i = z - k; break; } } } } for (int i = 0; i < goOutNum.length; i++) { System.out.print(goOutNum[i] + " "); } System.out.println(); for(int i=0;i<peoplesNum.length;i++) { if(peoplesNum[i]!=0) { System.out.print(peoplesNum[i]+" "); } } System.out.println(); } } }
0.0分
1 人评分