Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
17
Task/Zig-zag-matrix/Standard-ML/zig-zag-matrix.ml
Normal file
17
Task/Zig-zag-matrix/Standard-ML/zig-zag-matrix.ml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
fun rowprint r = (List.app (fn i => print (StringCvt.padLeft #" " 3 (Int.toString i))) r;
|
||||
print "\n");
|
||||
fun zig lst M = List.app rowprint (lst M);
|
||||
|
||||
fun sign t = if t mod 2 = 0 then ~1 else 1;
|
||||
|
||||
fun zag n = List.tabulate (n,
|
||||
fn i=> rev ( List.tabulate (n,
|
||||
fn j =>
|
||||
let val t = n-j+i and u = n+j-i in
|
||||
if i <= j
|
||||
then t*t div 2 + sign t * ( t div 2 - i )
|
||||
else n*n - 1 - ( u*u div 2 + sign u * ( u div 2 - n + 1 + i) )
|
||||
end
|
||||
)));
|
||||
|
||||
zig zag 5 ;
|
||||
Loading…
Add table
Add a link
Reference in a new issue