/*
- 1 2 6 7 15 16 28
- 3 5 8 14 17 27
- 4 9 13 18 26
- 10 12 19 25
- 11 20 24
- 21 23
- 22
*/
这种解法完全是靠找到的规律
public class _4 {
static int f(int m){
int x=0;
int a=2*m-1;//45度看,是第a行
for(int i=1;i<a;i++){//45度看,第一行有1个,第二行有2个,个数加起来就是第a行最后的数
x+=i;//45度看,1个数+2个数+3个数+...,得到(a-1)行最后面的数
}
x=x+a/2+1;//45度看,a-1行最后的数字 + 第a行左一半的个数,再+1,是最中间的数
return x;
}
public static void main(String[] args){
System.out.println(f(20));
}
}