import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int m = in.nextInt();
printRes(m);
}
}
public static void printRes(int m) {
//发现规律,1,就是1自己;2就是2的平方的左右两个数;3就是3的平方及其左右两个数;4就是4的平方左右四个数
//5就是5的平方及其左右五个数,6就是6的平方左右6个数。
//循环控制m个奇数
int x = m / 2;//x是最左端到中间的距离
if (m % 2 == 1) {//奇数情况,不需要调整一个位移
for (int i = 0; i < m; i++) {//m控制个数,因此x不需要限制
if(i==m-1){//不但把i=1处理了,还处理了后面的+
System.out.print(m * m - (2 * x));
}else {
System.out.print(m * m - (2 * x) + "+");//2是两个奇数之间的步长
}
x--;//x代表结果奇数的位置
}
System.out.println();
} else {//偶数情况需要调整一个位移
for (int i = 0; i < m; i++) {//m控制个数,因此x不需要限制
if(i==m-1){//最后一个数后面不再需要+了
System.out.print(m * m + 1 - (2 * x) );
}else {
System.out.print(m * m + 1 - (2 * x) + "+");//2是两个奇数之间的步长(偶数时,需要加一才能是奇数)
}
x--;//
}
System.out.println();
}
}
}
首先可以看出规律的。然后要分奇数和偶数的情况。最后需要处理好步长与+符号

京公网安备 11010502036488号