Zig-zag matrix: Difference between revisions
Content added Content deleted
(Realize in miniZinc) |
(→{{header|MiniZinc}}: Improve output layout) |
||
Line 3,403: | Line 3,403: | ||
constraint forall(n in {2*g+1 | g in 1..(Size-1) div 2})(zigzag[n,1]=zigzag[n-1,1]+1 /\ forall(g in 2..n)(zigzag[n-g+1,g]=zigzag[n-g+2,g-1]+1)); |
constraint forall(n in {2*g+1 | g in 1..(Size-1) div 2})(zigzag[n,1]=zigzag[n-1,1]+1 /\ forall(g in 2..n)(zigzag[n-g+1,g]=zigzag[n-g+2,g-1]+1)); |
||
constraint forall(n in {2*g+((Size) mod 2) | g in 1..(Size-1) div 2})(zigzag[Size,n]=zigzag[Size,n-1]+1 /\ forall(g in 1..Size-n)(zigzag[Size-g,n+g]=zigzag[Size-g+1,n+g-1]+1)); |
constraint forall(n in {2*g+((Size) mod 2) | g in 1..(Size-1) div 2})(zigzag[Size,n]=zigzag[Size,n-1]+1 /\ forall(g in 1..Size-n)(zigzag[Size-g,n+g]=zigzag[Size-g+1,n+g-1]+1)); |
||
output [ |
output [show2d(zigzag)]; |
||
</lang> |
</lang> |
||
{out} |
{out} |
||
<pre> |
<pre> |
||
minizinc -DSize=5 zigzag.mzn |
minizinc -DSize=5 zigzag.mzn |
||
[1, 2, 6, 7, 15 |
[| 1, 2, 6, 7, 15 | |
||
3, 5, 8, 14, 16 | |
|||
4, 9, 13, 17, 22 | |
|||
10, 12, 18, 21, 23 | |
|||
11, 19, 20, 24, 25 |] |
|||
---------- |
---------- |
||
minizinc -DSize=6 zigzag.mzn |
minizinc -DSize=6 zigzag.mzn |
||
[1, 2, 6, 7, 15, 16 |
[| 1, 2, 6, 7, 15, 16 | |
||
3, 5, 8, 14, 17, 26 | |
|||
4, 9, 13, 18, 25, 27 | |
|||
10, 12, 19, 24, 28, 33 | |
|||
11, 20, 23, 29, 32, 34 | |
|||
21, 22, 30, 31, 35, 36 |] |
|||
---------- |
---------- |
||
</pre> |
</pre> |
||
=={{header|Modula-3}}== |
=={{header|Modula-3}}== |
||
<lang modula3>MODULE ZigZag EXPORTS Main; |
<lang modula3>MODULE ZigZag EXPORTS Main; |