Smallest square that begins with n: Difference between revisions

Content added Content deleted
(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#}}==