10.12 编写算法,打印具有下面规律的图形
1
5 2
8 6 3
10 9 7 4
说明:
1. 为方便分析,数据的起始下标定为1
2. 将1,2,3,4看作第一层,5,6,7看作第二层.....层内,第一层1序号为1,2序号为2...,第二层5序号为1,6序号为2
用两个变量,i,j,表示第i层第j个数对应的数据数据是a[i-1+j][j]
3. ruby代码中:puts会默认加上换行,print不会
def martrx(x)
k = 1
a = []
for i in 0..n
a[i] = []
for j in 0..n
a[i][j] = nil
end
for i in 1..n
for j in 1..(n-i+1)
a[j+i-1][j] = k
k = k+1
end
end
for i in 1..n
for j in 1..j
print a[i][j].to_s + " "
end
end
end
martix(4)
martrx(8)
打印结果
1
5 2
8 6 3
10 9 7 4
1
9 2
16 10 3
22 17 11 4
27 23 18 12 5
31 28 24 19 13 6
34 32 29 25 20 14 7
36 35 33 30 26 21 15 8