0 2 4 6 12 14 28 30 60 62 124
可得: 加2乘2的规律
public static void main(String[] args) {
int j = 0;
int k = 10;
int[] s = new int[1];
s[0]=j;
for (int i = 0; i < k; i++) {
System.out.println(s.length);
if (s.length % 2 != 0) {
j += 2;
s = Task.ints(s,j);
} else {
j *= 2;
s = Task.ints(s,j);
}
}
System.out.println(s.length);
System.out.println(Arrays.toString(s));
}
public static int[] ints(int[] s,int j) {
int[] r = new int[s.length + 1];
System.arraycopy(s, 0, r, 0, s.length);
r[r.length-1] = j;
return r;
}
1
2
3
4
5
6
7
8
9
10
11
[0, 2, 4, 6, 12, 14, 28, 30, 60, 62, 124]
旧例子
public static void main(String[] args) {
int j = 0;
int[] s = new int[0];
for (int i = 0; i < 8; i++) {
System.out.println(s.length);
if ((s.length + 1) % 2 != 0) {
j += 2;
s = Task.ints(s);
s[i] = j;
} else {
j *= 2;
s = Task.ints(s);
s[i] = j;
}
}
System.out.println(Arrays.toString(s));
}
public static int[] ints(int[] s) {
int[] r = new int[s.length + 1];
System.arraycopy(s, 0, r, 0, s.length);
return r;
}
0
1
2
3
4
5
6
7
[2, 4, 6, 12, 14, 28, 30, 60]