1. 程式人生 > >C語言網-1097-蛇行矩陣

C語言網-1097-蛇行矩陣

題目描述

蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。

輸入

本題有多組資料,每組資料由一個正整數N組成。(N不大於100)

輸出

對於每一組資料,輸出一個N行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用一個空格分開。行尾不要多餘的空格。

樣例輸入

5

樣例輸出

1 3 6 10 15
2 5 9 14
4 8 13
7 12
11

解題思路:

設i的一個數所在的行數,a0i為每一行的第一個數,易知a01為1。a0i=a0(i-1)+i-1,(i>1).在第i行中我們設bj為這一行中的一個數,這bj=b(j-1)+i+j-1。

# include <iostream>

  using namespace std;
  	
  int main ()
  {
  	int n;
  	cin>>n;
     int a=1;
	 for(int i=1;i<=n;i++ )
	 {
	 	
	 	cout<<a<<" ";
	 
	 	int k=i+1;
	 	int l=a;
	 	for(int j=1;j<=5-i;j++)
	 	{
	 	   l+=(j+k-1);
	 	   cout<<l<<" ";
	 	
	 	 
		 }
		 	a=a+i;
		 cout<<endl;
	  } 
    
    
   }