23 lines
377 B
Text
23 lines
377 B
Text
zigzag1:=proc(n)
|
|
uses ArrayTools;
|
|
local i,u,v,a;
|
|
u:=Replicate(<-1,1>,n):
|
|
v:=Vector[row](1..n,i->i*(2*i-3)):
|
|
v:=Reshape(<v+~1,v+~2>,2*n):
|
|
a:=Matrix(n,n):
|
|
for i to n do
|
|
a[...,i]:=v[i+1..i+n];
|
|
v+=u
|
|
od:
|
|
a
|
|
end:
|
|
|
|
zigzag2:=proc(n)
|
|
local i,v,a;
|
|
a:=zigzag1(n);
|
|
v:=Vector(1..n-1,i->i^2);
|
|
for i from 2 to n do
|
|
a[n+2-i..n,i]-=v[1..i-1]
|
|
od;
|
|
a
|
|
end:
|