Smallest square that begins with n: Difference between revisions
Content added Content deleted
Catskill549 (talk | contribs) (added AWK) |
(→{{header|Excel}}: Added an Excel LAMBDA version.) |
||
Line 206: | Line 206: | ||
48 484 22 |
48 484 22 |
||
49 49 7</pre> |
49 49 7</pre> |
||
=={{header|Excel}}== |
|||
===LAMBDA=== |
|||
Binding the name '''firstSquareWithPrefix''' to the following lambda expression in the Name Manager of the Excel WorkBook: |
|||
(See [https://www.microsoft.com/en-us/research/blog/lambda-the-ultimatae-excel-worksheet-function/ LAMBDA: The ultimate Excel worksheet function]) |
|||
{{Works with|Office 365 betas 2021}} |
|||
<lang lisp>firstSquareWithPrefix |
|||
=LAMBDA(n, |
|||
LET( |
|||
pfx, TEXT(n, "0"), |
|||
lng, LEN(pfx), |
|||
UNTIL( |
|||
LAMBDA(i, |
|||
pfx = MID(TEXT(i ^ 2, "0"), 1, lng) |
|||
) |
|||
)( |
|||
LAMBDA(i, 1 + i) |
|||
)(0) ^ 2 |
|||
) |
|||
)</lang> |
|||
and also assuming the following generic binding in the Name Manager for the WorkBook: |
|||
<lang lisp>UNTIL |
|||
=LAMBDA(p, |
|||
LAMBDA(f, |
|||
LAMBDA(x, |
|||
IF(p(x), |
|||
x, |
|||
UNTIL(p)(f)(f(x)) |
|||
) |
|||
) |
|||
) |
|||
)</lang> |
|||
{{Out}} |
|||
{| class="wikitable" |
|||
|- |
|||
|||style="text-align:right; font-family:serif; font-style:italic; font-size:120%;"|fx |
|||
! colspan="4" style="text-align:left; vertical-align: bottom; font-family:Arial, Helvetica, sans-serif !important;"|=firstSquareWithPrefix(A2) |
|||
|- style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff;" |
|||
| |
|||
| A |
|||
| B |
|||
| C |
|||
| D |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 1 |
|||
| style="font-weight:bold" | Prefix |
|||
| style="font-style:italic" | Square |
|||
| style="font-weight:bold" | Prefix |
|||
| style="font-style:italic" | Square |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 2 |
|||
| style="text-align:right; font-weight:bold" | 1 |
|||
| style="text-align:right; background-color:#cbcefb" | 1 |
|||
| style="text-align:right; font-weight:bold" | 26 |
|||
| style="text-align:right" | 2601 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 3 |
|||
| style="text-align:right; font-weight:bold" | 2 |
|||
| style="text-align:right" | 25 |
|||
| style="text-align:right; font-weight:bold" | 27 |
|||
| style="text-align:right" | 2704 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 4 |
|||
| style="text-align:right; font-weight:bold" | 3 |
|||
| style="text-align:right" | 36 |
|||
| style="text-align:right; font-weight:bold" | 28 |
|||
| style="text-align:right" | 289 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 5 |
|||
| style="text-align:right; font-weight:bold" | 4 |
|||
| style="text-align:right" | 4 |
|||
| style="text-align:right; font-weight:bold" | 29 |
|||
| style="text-align:right" | 2916 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 6 |
|||
| style="text-align:right; font-weight:bold" | 5 |
|||
| style="text-align:right" | 529 |
|||
| style="text-align:right; font-weight:bold" | 30 |
|||
| style="text-align:right" | 3025 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 7 |
|||
| style="text-align:right; font-weight:bold" | 6 |
|||
| style="text-align:right" | 64 |
|||
| style="text-align:right; font-weight:bold" | 31 |
|||
| style="text-align:right" | 3136 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 8 |
|||
| style="text-align:right; font-weight:bold" | 7 |
|||
| style="text-align:right" | 729 |
|||
| style="text-align:right; font-weight:bold" | 32 |
|||
| style="text-align:right" | 324 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 9 |
|||
| style="text-align:right; font-weight:bold" | 8 |
|||
| style="text-align:right" | 81 |
|||
| style="text-align:right; font-weight:bold" | 33 |
|||
| style="text-align:right" | 3364 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 10 |
|||
| style="text-align:right; font-weight:bold" | 9 |
|||
| style="text-align:right" | 9 |
|||
| style="text-align:right; font-weight:bold" | 34 |
|||
| style="text-align:right" | 3481 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 11 |
|||
| style="text-align:right; font-weight:bold" | 10 |
|||
| style="text-align:right" | 100 |
|||
| style="text-align:right; font-weight:bold" | 35 |
|||
| style="text-align:right" | 35344 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 12 |
|||
| style="text-align:right; font-weight:bold" | 11 |
|||
| style="text-align:right" | 1156 |
|||
| style="text-align:right; font-weight:bold" | 36 |
|||
| style="text-align:right" | 36 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 13 |
|||
| style="text-align:right; font-weight:bold" | 12 |
|||
| style="text-align:right" | 121 |
|||
| style="text-align:right; font-weight:bold" | 37 |
|||
| style="text-align:right" | 3721 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 14 |
|||
| style="text-align:right; font-weight:bold" | 13 |
|||
| style="text-align:right" | 1369 |
|||
| style="text-align:right; font-weight:bold" | 38 |
|||
| style="text-align:right" | 3844 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 15 |
|||
| style="text-align:right; font-weight:bold" | 14 |
|||
| style="text-align:right" | 144 |
|||
| style="text-align:right; font-weight:bold" | 39 |
|||
| style="text-align:right" | 3969 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 16 |
|||
| style="text-align:right; font-weight:bold" | 15 |
|||
| style="text-align:right" | 1521 |
|||
| style="text-align:right; font-weight:bold" | 40 |
|||
| style="text-align:right" | 400 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 17 |
|||
| style="text-align:right; font-weight:bold" | 16 |
|||
| style="text-align:right" | 16 |
|||
| style="text-align:right; font-weight:bold" | 41 |
|||
| style="text-align:right" | 41209 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 18 |
|||
| style="text-align:right; font-weight:bold" | 17 |
|||
| style="text-align:right" | 1764 |
|||
| style="text-align:right; font-weight:bold" | 42 |
|||
| style="text-align:right" | 4225 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 19 |
|||
| style="text-align:right; font-weight:bold" | 18 |
|||
| style="text-align:right" | 1849 |
|||
| style="text-align:right; font-weight:bold" | 43 |
|||
| style="text-align:right" | 4356 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 20 |
|||
| style="text-align:right; font-weight:bold" | 19 |
|||
| style="text-align:right" | 196 |
|||
| style="text-align:right; font-weight:bold" | 44 |
|||
| style="text-align:right" | 441 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 21 |
|||
| style="text-align:right; font-weight:bold" | 20 |
|||
| style="text-align:right" | 2025 |
|||
| style="text-align:right; font-weight:bold" | 45 |
|||
| style="text-align:right" | 45369 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 22 |
|||
| style="text-align:right; font-weight:bold" | 21 |
|||
| style="text-align:right" | 2116 |
|||
| style="text-align:right; font-weight:bold" | 46 |
|||
| style="text-align:right" | 4624 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 23 |
|||
| style="text-align:right; font-weight:bold" | 22 |
|||
| style="text-align:right" | 225 |
|||
| style="text-align:right; font-weight:bold" | 47 |
|||
| style="text-align:right" | 4761 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 24 |
|||
| style="text-align:right; font-weight:bold" | 23 |
|||
| style="text-align:right" | 2304 |
|||
| style="text-align:right; font-weight:bold" | 48 |
|||
| style="text-align:right" | 484 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 25 |
|||
| style="text-align:right; font-weight:bold" | 24 |
|||
| style="text-align:right" | 2401 |
|||
| style="text-align:right; font-weight:bold" | 49 |
|||
| style="text-align:right" | 49 |
|||
|- |
|||
| style="text-align:center; font-family:Arial, Helvetica, sans-serif !important; background-color:#000000; color:#ffffff" | 26 |
|||
| style="text-align:right; font-weight:bold" | 25 |
|||
| style="text-align:right" | 25 |
|||
| style="text-align:right; font-weight:bold" | 50 |
|||
| style="text-align:right" | 5041 |
|||
|} |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |