Smallest square that begins with n: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Modula-2) |
Not a robot (talk | contribs) (Add Refal) |
||
Line 2,917: | Line 2,917: | ||
Same output. |
Same output. |
||
=={{header|Refal}}== |
|||
<syntaxhighlight lang="refal">$ENTRY Go { |
|||
= <Table (7 7) <Each FirstPrefixSquare <Iota 1 49>>>; |
|||
}; |
|||
Cell { |
|||
s.W s.N, <Repeat s.W ' '> <Symb s.N>: e.C, |
|||
<Last s.W e.C>: (e.X) e.CI = e.CI; |
|||
} |
|||
Repeat { |
|||
0 s.C = ; |
|||
s.N s.C = s.C <Repeat <- s.N 1> s.C>; |
|||
}; |
|||
Table { |
|||
(s.Cols s.CW) e.X = <Table () (s.Cols s.Cols s.CW) e.X>; |
|||
(e.Row) (s.Cols s.N s.CW), e.Row: { |
|||
= ; |
|||
e.Row = <Prout e.Row>; |
|||
}; |
|||
(e.Row) (s.Cols 0 s.CW) e.X = |
|||
<Prout e.Row> |
|||
<Table () (s.Cols s.Cols s.CW) e.X>; |
|||
(e.Row) (s.Cols s.N s.CW) s.I e.X = |
|||
<Table (e.Row <Cell s.CW s.I>) (s.Cols <- s.N 1> s.CW) e.X>; |
|||
}; |
|||
Each { |
|||
s.F = ; |
|||
s.F s.I e.X = <Mu s.F s.I> <Each s.F e.X>; |
|||
}; |
|||
Iota { |
|||
s.End s.End = s.End; |
|||
s.Start s.End = s.Start <Iota <+ 1 s.Start> s.End>; |
|||
}; |
|||
FirstPrefixSquare { |
|||
s.N = <FirstPrefixSquare s.N 1>; |
|||
s.N s.Sqr, <* s.Sqr s.Sqr>: s.Sq, |
|||
<Symb s.N>: e.Pfx, |
|||
<Symb s.Sq>: e.Pfx e.X = s.Sq; |
|||
s.N s.Sqr = <FirstPrefixSquare s.N <+ 1 s.Sqr>>; |
|||
}; |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 1 25 36 4 529 64 729 |
|||
81 9 100 1156 121 1369 144 |
|||
1521 16 1764 1849 196 2025 2116 |
|||
225 2304 2401 25 2601 2704 289 |
|||
2916 3025 3136 324 3364 3481 35344 |
|||
36 3721 3844 3969 400 41209 4225 |
|||
4356 441 45369 4624 4761 484 49</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |