从上面可以看出,蛇形矩阵其实就是多个等差数列,在列方向是+1;+2;+3*****;
在行的方向是+2;+3,行的第一个差值是i+1;例如第一行是+2开始;第二行是+3开始,其实也是等差数列,行的每行循环次数比上行都减1
public class Main{
public static void main(String args[]){//主方法,主要就是接收数据
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int num=sc.nextInt();
printtriangle(num);
}
}
public static void printtriangle(int num){ //输出方法输出蛇形矩阵
int y=1;//列的方向第一个肯定是1
int yCount=1;//列由上往下是等差数列,第一行和第二行差1
for(int i=1;i<=num;i++){//行的循环次数
int x=y;//第i行的第一个数就是列的第i个数
int xCount=i+1; //可以看到第i行第一个加数刚好是i+1
for(int j=1;j<=num-i+1;j++){ //列的循环次数,每次少一列
System.out.print(x+" ");//循环输出x
x+=xCount++; //等差数列每次+1
}
System.out.println("");//换行
y+=yCount++; //等差数列每次加1
}
}}



京公网安备 11010502036488号