从上面可以看出,蛇形矩阵其实就是多个等差数列,在列方向是+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 } }
}