22 lines
462 B
Text
22 lines
462 B
Text
function zigzag1(n) {
|
|
j = 0::n-1
|
|
u = J(1, n, (-1, 1))
|
|
v = (j:*(2:*j:+3))
|
|
v = rowshape((v,v:+1), 1)
|
|
a = J(n, n, .)
|
|
for (i=1; i<=n; i++) {
|
|
a[i, .] = v[j:+i]
|
|
v = v+u
|
|
}
|
|
return(a)
|
|
}
|
|
|
|
zigzag1(5)
|
|
1 2 3 4 5
|
|
+--------------------------+
|
|
1 | 0 1 5 6 14 |
|
|
2 | 2 4 7 13 16 |
|
|
3 | 3 8 12 17 25 |
|
|
4 | 9 11 18 24 31 |
|
|
5 | 10 19 23 32 40 |
|
|
+--------------------------+
|