Minimum number of cells after, before, above and below NxN squares: Difference between revisions
Content added Content deleted
(Created page with "{{Draft task}} ;Task:Find and show on this page the minimum number of cells after, before, above and below '''NxN''' squares, where '''N = 10''' <br><br> =={{header|Ring}}=...") |
(Add Factor) |
||
Line 4: | Line 4: | ||
<br><br> |
<br><br> |
||
=={{header|Factor}}== |
|||
{{works with|Factor|0.99 2021-06-02}} |
|||
<lang factor>USING: io kernel math math.matrices math.vectors prettyprint |
|||
sequences ; |
|||
: square ( n -- matrix ) |
|||
[ <cartesian-square-indices> ] keep 1 - dup |
|||
'[ dup sum _ > [ _ v-n vabs ] when infimum ] matrix-map ; |
|||
10 square simple-table. nl |
|||
9 square simple-table.</lang> |
|||
{{out}} |
|||
<pre> |
|||
0 0 0 0 0 0 0 0 0 0 |
|||
0 1 1 1 1 1 1 1 1 0 |
|||
0 1 2 2 2 2 2 2 1 0 |
|||
0 1 2 3 3 3 3 2 1 0 |
|||
0 1 2 3 4 4 3 2 1 0 |
|||
0 1 2 3 4 4 3 2 1 0 |
|||
0 1 2 3 3 3 3 2 1 0 |
|||
0 1 2 2 2 2 2 2 1 0 |
|||
0 1 1 1 1 1 1 1 1 0 |
|||
0 0 0 0 0 0 0 0 0 0 |
|||
0 0 0 0 0 0 0 0 0 |
|||
0 1 1 1 1 1 1 1 0 |
|||
0 1 2 2 2 2 2 1 0 |
|||
0 1 2 3 3 3 2 1 0 |
|||
0 1 2 3 4 3 2 1 0 |
|||
0 1 2 3 3 3 2 1 0 |
|||
0 1 2 2 2 2 2 1 0 |
|||
0 1 1 1 1 1 1 1 0 |
|||
0 0 0 0 0 0 0 0 0 |
|||
</pre> |
|||
=={{header|Ring}}== |
=={{header|Ring}}== |
Revision as of 09:19, 2 August 2021
Minimum number of cells after, before, above and below NxN squares is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
- Task
- Find and show on this page the minimum number of cells after, before, above and below NxN squares, where N = 10
Factor
<lang factor>USING: io kernel math math.matrices math.vectors prettyprint sequences ;
- square ( n -- matrix )
[ <cartesian-square-indices> ] keep 1 - dup '[ dup sum _ > [ _ v-n vabs ] when infimum ] matrix-map ;
10 square simple-table. nl 9 square simple-table.</lang>
- Output:
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 2 2 2 2 2 2 1 0 0 1 2 3 3 3 3 2 1 0 0 1 2 3 4 4 3 2 1 0 0 1 2 3 4 4 3 2 1 0 0 1 2 3 3 3 3 2 1 0 0 1 2 2 2 2 2 2 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 2 2 2 2 2 1 0 0 1 2 3 3 3 2 1 0 0 1 2 3 4 3 2 1 0 0 1 2 3 3 3 2 1 0 0 1 2 2 2 2 2 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Ring
<lang ring> see "working..." + nl see "Minimum number of cells after, before, above and below NxN squares:" + nl row = 0 cellsMin = []
for n = 1 to 10
for m = 1 to 10 cells = [] add(cells,m-1) add(cells,10-m) add(cells,n-1) add(cells,10-n) min = min(cells) add(cellsMin,min) next
next
ind = 100 for n = 1 to ind
row++ see "" + cellsMin[n] + " " if row%10 = 0 see nl ok
next
see "done..." + nl </lang>
- Output:
working... Minimum number of cells after, before, above and below NxN squares: 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 2 2 2 2 2 2 1 0 0 1 2 3 3 3 3 2 1 0 0 1 2 3 4 4 3 2 1 0 0 1 2 3 4 4 3 2 1 0 0 1 2 3 3 3 3 2 1 0 0 1 2 2 2 2 2 2 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 done...