June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
28
Task/Zig-zag-matrix/Octave/zig-zag-matrix-1.octave
Normal file
28
Task/Zig-zag-matrix/Octave/zig-zag-matrix-1.octave
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
function a = zigzag1(n)
|
||||
j = 1:n;
|
||||
u = repmat([-1; 1], n, 1);
|
||||
v = j.*(2*j-3);
|
||||
v = reshape([v; v+1], 2*n, 1);
|
||||
a = zeros(n, n);
|
||||
for i = 1:n
|
||||
a(:, i) = v(i+j);
|
||||
v += u;
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function a = zigzag2(n)
|
||||
a = zigzag1(n);
|
||||
v = (1:n-1)'.^2;
|
||||
for i = 2:n
|
||||
a(n+2-i:n, i) -= v(1:i-1);
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
>> zigzag2(5)
|
||||
ans =
|
||||
|
||||
0 1 5 6 14
|
||||
2 4 7 13 15
|
||||
3 8 12 16 21
|
||||
9 11 17 20 22
|
||||
10 18 19 23 24
|
||||
18
Task/Zig-zag-matrix/Octave/zig-zag-matrix-2.octave
Normal file
18
Task/Zig-zag-matrix/Octave/zig-zag-matrix-2.octave
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
function a = zigzag3(n)
|
||||
a = zeros(n, n);
|
||||
for k=1:n
|
||||
d = (2*(j = mod(k, 2))-1)*(n-1);
|
||||
m = (n-1)*(k-1);
|
||||
a(k+(1-j)*m:d:k+j*m) = k*(k-1)/2:k*(k+1)/2-1;
|
||||
a(n*(n+1-k)+(1-j)*m:d:n*(n+1-k)+j*m) = n*n-k*(k+1)/2:n*n-k*(k-1)/2-1;
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
>> zigzag3(5)
|
||||
ans =
|
||||
|
||||
0 1 5 6 14
|
||||
2 4 7 13 15
|
||||
3 8 12 16 21
|
||||
9 11 17 20 22
|
||||
10 18 19 23 24
|
||||
Loading…
Add table
Add a link
Reference in a new issue