暴力递归了解下,但是我只有45%
import java.util.Scanner;
public class 纽劢1 {
public static void main(String[] args) throws Exception{
//输入
Scanner sc = new Scanner(System.in);
int t = Integer.parseInt(sc.nextLine());
int[] a = new int[t];
for (int i = 0; i < t; i++) {
a[i] = Integer.parseInt(sc.nextLine());
}
for (int k = 0; k < t; k++) {
int[] m = new int[a[k]];
for (int j = 1; j <= a[k]; j++) {
m[j - 1] = j;
}
int last = last(m);
System.out.println(last);
}
}
//递归方法
public static int last(int[] m) {
//长度为2时输出,返回
if (m.length == 2) {
System.out.print(m[0] + " ");
return m[1];
}
//否则输出移除的数
System.out.print(m[0] + " ");
int[] s = new int[m.length - 1];
s[s.length - 1] = m[1];
for (int i = 2, j = 0; i <= s.length; i++, j++) {
s[j] = m[i];
}
return last(s);
}
}