Home » List Cyclops Palindromic Numbers

List Cyclops Palindromic Numbers

A Cyclops number is a number that has a zero in the center (so, it needs to have odd number of digits). The 0 should not appear anywhere else other than in center. They are named after one eyed giants Cyclops from Greek mythology. Ex. 79051 A Palindromic number is a number which is same even when read from backwards. Ex. 674476 Find the list of first 1000 Palindromic Cyclops number.

📌 Challenge Details and Links
ExcelBI Excel Challenge Number: 370
Challenge Difficulty: ⭐️
📥Download Sample File
📥Link to the solutions on LinkedIn

Solving the challenge of List Cyclops Palindromic Numbers with Power Query

Power Query solution 1 for List Cyclops Palindromic Numbers, proposed by John V.:
let
 T = List.Transform, L = Text.Length, 
 n = T({1..1331}, each let a = Text.From(_) in a & "0" & Text.Reverse(a)),
 R = List.Select(n, each L(_) - L(Text.Replace(_, "0", "")) = 1)
in
 Table.FromColumns({T(R, each Number.From(_))})

Blessings!


                    
                  
          
Power Query solution 2 for List Cyclops Palindromic Numbers, proposed by Aditya Kumar Darak 🇮🇳:
let
  Generate = List.Generate(
    () => [a = 1, b = 1, c = 101], 
    each [b] <= 1000, 
    each [
      a  = [a] + 1, 
      T  = Text.From(a), 
      TF = Number.Mod(a, 10) <> 0 and not Text.Contains(T, "0"), 
      b  = [b] + Number.From(TF), 
      c  = if TF then Number.From(T & "0" & Text.Reverse(T)) else null
    ], 
    each [c]
  ), 
  Return = List.RemoveNulls(Generate)
in
  Return
Power Query solution 3 for List Cyclops Palindromic Numbers, proposed by Alejandro Simón 🇵🇦 🇪🇸:
let
  Source = List.RemoveNulls(
    List.Skip(
      List.Generate(
        () => [x = 0, y = 0, z = 0], 
        each [z] <= 1000, 
        each [
          x = [x] + 1, 
          y = 
            if Text.Contains(Text.From(x), "0") then
              null
            else
              Number.From(Text.From(x) & "0" & Text.Reverse(Text.From(x))), 
          z = if y = null then [z] else [z] + 1
        ], 
        each [y]
      )
    )
  )
in
  Source
Power Query solution 4 for List Cyclops Palindromic Numbers, proposed by Brian Julius:
let
  Source = Table.FromList(
    {1 .. 1500}, 
    Splitter.SplitByNothing(), 
    {"Numbers"}, 
    Text.Type, 
    ExtraValues.Error
  ), 
  AddAnswer = Table.AddColumn(
    Source, 
    "Answer", 
    each [
      a = Text.From([Numbers]), 
      b = if Text.Contains(a, "0") then null else a & "0" & Text.Reverse(a)
    ][b]
  ), 
  FilterNulls = Table.SelectRows(AddAnswer, each ([Answer] <> null)), 
  Clean = Table.RemoveColumns(Table.FirstN(FilterNulls, 1000), "Numbers")
in
  Clean
Power Query solution 5 for List Cyclops Palindromic Numbers, proposed by Ramiro Ayala Chávez:
let
  a = List.Transform({1 .. 1331}, Text.From), 
  b = List.Select(a, each not Text.Contains(_, "0")), 
  c = List.Transform(b, each Text.Reverse(_)), 
  d = List.Repeat({"0"}, List.Count(c)), 
  e = List.Transform({0 .. List.Count(d) - 1}, each b{_} & d{_} & c{_}), 
  Sol = Table.TransformColumnTypes(
    Table.FromColumns({e}, {"Expected Answer"}), 
    {{"Expected Answer", Int64.Type}}
  )
in
  Sol
Power Query solution 6 for List Cyclops Palindromic Numbers, proposed by Glyn Willis:
let
  Source = List.Select({1 .. 1331}, each not Text.Contains(Text.From(_), "0")), 
  Custom1 = List.Transform(Source, each Text.From(_) & "0" & Text.Reverse(Text.From(_))), 
  #"Converted to Table" = Table.FromList(
    Custom1, 
    Splitter.SplitByNothing(), 
    null, 
    null, 
    ExtraValues.Error
  ), 
  #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table", {{"Column1", Int64.Type}})
in
  #"Changed Type"

Solving the challenge of List Cyclops Palindromic Numbers with Excel

Excel solution 1 for List Cyclops Palindromic Numbers, proposed by Bo Rydobon 🇹🇭:
=LET(
    s,
    SEQUENCE(
        ,
        9
    ),
    TAKE(
        DROP(
            SORT(
                --TOCOL(
                    REDUCE(
                        0,
                        DROP(
                            s,
                            ,
                            5
                        ),
                        LAMBDA(
                            a,
                            v,
                            HSTACK(
                                a,
                                TOCOL(
                                    s&TAKE(
                                        a,
                                        ,
                                        -1
                                    )&s
                                )
                            )
                        )
                    ),
                    3
                )
            ),
            1
        ),
        1000
    )
)
Excel solution 2 for List Cyclops Palindromic Numbers, proposed by Rick Rothstein:
=LET(
    s,
    SEQUENCE(
        2000
    ),
    n,
    FILTER(
        s,
        ISERR(
            FIND(
                0,
                s
            )
        )
    ),
    r,
    MAP(
        n,
        LAMBDA(
            x,
            CONCAT(
                MID(
                    x,
                    SEQUENCE(
                        LEN(
                            x
                        ),
                        ,
                        LEN(
                            x
                        ),
                        -1
                    ),
                    1
                )
            )
        )
    ),
    TAKE(
        MAP(
            n,
            r,
            LAMBDA(
                a,
                b,
                a&0&b
            )
        ),
        1000
    )
)
Excel solution 3 for List Cyclops Palindromic Numbers, proposed by John V.:
=LET(
    s,
    ROW(
        1:1331
    ),
    --FILTER(
        s&0&BYROW(
            MID(
                s,
                {4,
                3,
                2,
                1},
                1
            ),
            CONCAT
        ),
        ISERR(
            FIND(
                0,
                s
            )
        )
    )
)
Excel solution 4 for List Cyclops Palindromic Numbers, proposed by محمد حلمي:
=--TOCOL(
    MAP(
        SEQUENCE(
            1331
        ),
        LAMBDA(
            a,
            CONCAT(
                a,
                0,
                MID(
                    a,
                    {4,
                    3,
                    2,
                    1},
                    1
                )
            )/ISERR(
                FIND(
                    0,
                    a
                )
            )
        )
    ),
    2
)
Excel solution 5 for List Cyclops Palindromic Numbers, proposed by محمد حلمي:
=--TOCOL(
    MAP(
        SEQUENCE(
            BASE(
                10000,
                9
            )
        ),
        LAMBDA(
            a,
            
            CONCAT(
                a,
                0,
                MID(
                    a,
                    {4,
                    3,
                    2,
                    1},
                    1
                )
            )/ISERR(
                FIND(
                    0,
                    a
                )
            )
        )
    ),
    2
)
Excel solution 6 for List Cyclops Palindromic Numbers, proposed by محمد حلمي:
=--TOCOL(
    MAP(
        SEQUENCE(
            1331
        ),
        LAMBDA(
            a,
            
            CONCAT(
                a,
                0,
                MID(
                    a,
                    {4,
                    3,
                    2,
                    1},
                    1
                )
            )/ISERR(
                FIND(
                    0,
                    a
                )
            )
        )
    ),
    2
)
Excel solution 7 for List Cyclops Palindromic Numbers, proposed by Kris Jaganah:
=LET(
    a,
    1000,
    b,
    MAP(
        SEQUENCE(
            a*2
        ),
        LAMBDA(
            x,
            CONCAT(
                x,
                0,
                MID(
                    x,
                    SEQUENCE(
                        LEN(
                            x
                        ),
                        ,
                        LEN(
                            x
                        ),
                        -1
                    ),
                    1
                )
            )
        )
    ),
    --TAKE(
        FILTER(
            b,
            ISNA(
                TEXTAFTER(
                    b,
                    "0",
                    2
                )
            )
        ),
        a
    )
)
Excel solution 8 for List Cyclops Palindromic Numbers, proposed by Julian Poeltl:
=TAKE(LET(S,
    SEQUENCE(
        10000
    ),
    SOS,
    UNIQUE(
        SORT(
            VSTACK(
                S&0&S,
                S&0&MAP(
                    S,
                    LAMBDA(
                        B,
                        E_ReverseString(
                            B
                        )
                    )
                )
            )*1
        )
    ),
    CO,
    LEN(
        SOS
    )-LEN(
        SUBSTITUTE(
            SOS,
            0,
            ""
        )
    ),
    IP,
    MAP(
        SOS,
        LAMBDA(
            A,
            E_ISPalindrome(
                A
            )
        )
    ),
    FILTER(SOS,
    (CO=1)*(IP=TRUE))),
    1000)

Pre-programmed Lambdas:
E_ReverseString:
 =LAMBDA(String,
    CONCAT(MID(String,
    SEQUENCE,
    (,
    LEN(
        String
    ),
    LEN(
        String
    ),
    -1),
    1)))
 E_ISPalindrome:
 =LAMBDA(PAL?,
    LET(Text,
    PAL?,
    L,
    LEFT(Text,
    ROUNDUP((LEN(
        Text
    )-1)/2,
    0)),
    R,
    CONCAT(L_ReverseHorizontalArray(MID(RIGHT(Text,
    ROUNDUP((LEN(
        Text
    )-1)/2,
    0)),
    SEQUENCE(,
    LEN(RIGHT(Text,
    ROUNDUP((LEN(
        Text
    )-1)/2,
    0)))),
    1))),
    RES,
    L=R,
    RES))
 L_ReverseHorizontalArray:
=LAMBDA(
    Array,
    TRANSPOSE(
        INDEX(
            TRANSPOSE(
                Array
            ),
            SEQUENCE(
                ROWS(
                    TRANSPOSE(
                Array
            )
                ),
                1,
                ROWS(
                    TRANSPOSE(
                Array
            )
                ),
                -1
            ),
            SEQUENCE(
                1,
                COLUMNS(
                    TRANSPOSE(
                Array
            )
                )
            )
        )
    )
)
Excel solution 9 for List Cyclops Palindromic Numbers, proposed by Timothée BLIOT:
=LET(A,SEQUENCE(10^4),B,TAKE(FILTER(A,MAP(A,LAMBDA(x,ISERR(FIND(0,x))))),10^3),B&0&MAP(B,LAMBDA(x,CONCAT(MID(x,SEQUENCE(LEN(x),,LEN(x),-1),1)))))
Excel solution 10 for List Cyclops Palindromic Numbers, proposed by Hussein SATOUR:
=--LET(
    a,
     SEQUENCE(
         10000
     ),
     b,
     TAKE(
         FILTER(
             a,
              ISERROR(
                  SEARCH(
                      "0",
                       a
                  )
              )
         ),
          1000
     ),
     MAP(
         b,
          LAMBDA(
              x,
               x&"0"&CONCAT(
                   MID(
                       x,
                        SEQUENCE(
                            LEN(
                                x
                            ),
                            ,
                            LEN(
                                x
                            ),
                            -1
                        ),
                        1
                   )
               )
          )
     )
)
Excel solution 11 for List Cyclops Palindromic Numbers, proposed by Sunny Baggu:
=LET(
 _s1,
     SEQUENCE(
         1331
     ),
    
 _s2,
     FILTER(
         _s1,
          ISERR(
              MAP(
                  _s1,
                   LAMBDA(
                       a,
                        FIND(
                            0,
                             a
                        )
                   )
              )
          )
     ),
    
 _s3,
     MAP(
         
          _s2,
         
          LAMBDA(
              a,
               CONCAT(
                   MID(
                       a,
                        LEN(
                            a
                        ) + 1 - SEQUENCE(
                            LEN(
                            a
                        )
                        ),
                        1
                   )
               )
          )
          
     ),
    
 (_s2 & 0 & _s3) + 0
)
Excel solution 12 for List Cyclops Palindromic Numbers, proposed by 🇵🇪 Ned Navarrete C.:
=LET(
    s,
    SEQUENCE(
        2^11
    ),
    m,
    FILTER(
        s,
        ISERR(
            SEARCH(
                0,
                s
            )
        )
    ),
    n,
    MAP(
        m,
        LAMBDA(
            r,
            CONCAT(
                MID(
                    r,
                    10-SEQUENCE(
                        9
                    ),
                    1
                )
            )
        )
    ),
    --TAKE(
        m&0&n,
        1000
    )
)
Excel solution 13 for List Cyclops Palindromic Numbers, proposed by Pieter de B.:
=TOCOL(
    MAP(
        SEQUENCE(
            1331
        ),
        LAMBDA(
            a,
            IFS(
                ISERR(
                    FIND(
                        0,
                        a
                    )
                ),
                a&0&CONCAT(
                    MID(
                        a,
                        SEQUENCE(
                            LEN(
                                a
                            ),
                            ,
                            LEN(
                                a
                            ),
                            -1
                        ),
                        1
                    )
                )
            )
        )
    ),
    2
)
Excel solution 14 for List Cyclops Palindromic Numbers, proposed by Charles Roldan:
=LET(
 M,
     LAMBDA(
         f,
          f(
              f
          )
     ),
    

 O,
     LAMBDA(
         f,
          LAMBDA(
              x,
               MAP(
                   x,
                    &f
               )
          )
     ),
    

 A,
     LAMBDA(
         f,
          LAMBDA(
              x,
               SCAN(
                   ,
                    x,
                    f
               )
          )
     ),
    

 K,
     LAMBDA(
         f,
          LAMBDA(
              x,
               [y],
               f(
                   x
               )
          )
     ),
    

 S,
     LAMBDA(
         f,
          M(
              LAMBDA(
                  g,
                   LAMBDA(
                       x,
                        IF(
                            f(
                                x + 1
                            ),
                             x + 1,
                             g(
                                 g
                             )(
                                x + 1
                            )
                        )
                   )
              )
          )
     ),
    

 _Cyclopify,
     O(M(LAMBDA(f,
     LAMBDA(x,
    
 LEFT(
                   x
               ) & IF(x = "",
     "0",
     f(
              f
          )(REPLACE(
              x,
               1,
               1,
               
          ))) & LEFT(
                   x
               ))))),
    

 _NextNoZero,
     A(
         K(
             S(
                 LAMBDA(
                     x,
                      ISERR(
                          FIND(
                              "0",
                               x
                          )
                      )
                 )
             )
         )
     ),
    

 --_Cyclopify(
     _NextNoZero(
         SEQUENCE(
             1000
         )
     )
 )
)
Excel solution 15 for List Cyclops Palindromic Numbers, proposed by Charles Roldan:
=LET(
 _NextNoZero, LAMBDA(f, f(f))(
 LAMBDA(f, LAMBDA(x, IF(ISERR(SEARCH("0", x + 1)), x + 1, f(f)(x + 1))))
 ),
 Left, SCAN(, SEQUENCE(1000), LAMBDA(x, _, _NextNoZero(x))),
 _Reverse, LAMBDA(x, CONCAT(MID(x, SORT(SEQUENCE(LEN(x)), , -1), 1))),
 MAP(Left, LAMBDA(x, --(x & 0 & _Reverse(x))))
)
Excel solution 16 for List Cyclops Palindromic Numbers, proposed by Bilal Mahmoud kh.:
=LET(
    x,
    SEQUENCE(
        1000
    ),
    y,
    FILTER(
        x,
        MOD(
            x,
            10
        )<>0
    ),
    z,
    MAP(
        y,
        LAMBDA(
            x,
            CONCAT(
                MID(
                    x,
                    SEQUENCE(
                        LEN(
                            x
                        ),
                        ,
                        LEN(
                            x
                        ),
                        -1
                    ),
                    1
                )
            )
        )
    ),
    y&"0"&z
)
Excel solution 17 for List Cyclops Palindromic Numbers, proposed by JvdV -:
=--TOCOL(
    LET(
        s,
        ROW(
            1:1331
        ),
        s&0&BYROW(
            MID(
                s,
                {4,
                3,
                2,
                1},
                1
            ),
            CONCAT
        )/ISERR(
            FIND(
                0,
                s
            )
        )
    ),
    2
)
Excel solution 18 for List Cyclops Palindromic Numbers, proposed by Stefan Olsson:
=QUERY(
    {
    BYROW(
        SEQUENCE(
            1331
        ),
         
        LAMBDA(
            s,
             
            REGEXREPLACE(
                s&"0",
                "([1-9])([1-9])?([1-9])?([1-9])?([0])",
                "$1$2$3$4$5$4$3$2$1"
            )
            
        )
    )
    },
    "Where Not Col1 Matches '.*0.*0.*'",
    0
)
Excel solution 19 for List Cyclops Palindromic Numbers, proposed by Stefan Olsson:
=BYROW(
    QUERY(
        {SEQUENCE(
            99999
        )},
        "Where Col1 Matches '^[1-9]+$' Limit 1000",
        0
    ),
    
    LAMBDA(
        s,
         
        --REGEXREPLACE(
            s&"0",
            "([1-9])([1-9])?([1-9])?([1-9])?([1-9])?([0])$",
            "$1$2$3$4$5$6$5$4$3$2$1"
        )
        
    )
)
Excel solution 20 for List Cyclops Palindromic Numbers, proposed by Giorgi Goderdzishvili:
=LET(
_arr,SEQUENCE(2000),
_fl, FILTER(_arr, ISERROR(FIND(0,_arr))),
_rv, MAP(_fl,LAMBDA(x,
CONCAT(MID(x,SEQUENCE(,LEN(x),LEN(x),-1),1)))),
_fn, TAKE(_fl&0&_rv,1000)*1,
_fn)
Excel solution 21 for List Cyclops Palindromic Numbers, proposed by Edwin Tisnado:
=TOCOL(SCAN(0,
    SEQUENCE(
        1331
    ),
    LAMBDA(x,
    y,
    LET(s,
    SEQUENCE(
        LEN(
            y
        )
    ),
    t,
    -MID(
        y,
        s,
        1
    ),
    (y&0&CONCAT(
        -SORTBY(
            t,
            -s
        )
    ))/AND(
        -t
    )))),
    2)
Excel solution 22 for List Cyclops Palindromic Numbers, proposed by Diarmuid Early:
=LET(seq,
    SEQUENCE(
        BASE(
            1000,
            9
        )
    ),
    
 strt,
    FILTER(
        seq,
        ISERROR(
            SEARCH(
                0,
                seq
            )
        )
    ),
    
 1*(strt&0&BYROW(
     MID(
         strt,
         SEQUENCE(
             ,
             4,
             4,
             -1
         ),
         1
     ),
     CONCAT
 )))

strt is the list of numbers that comes before the 0,
     and the BYROW reverses them.

Since there are no zeroes,
     it's like a base-9 number,
     hence the biggest number is 1000 in base 9 (1331)
Excel solution 23 for List Cyclops Palindromic Numbers, proposed by LUIS FLORENTINO COUTO CORTEGOSO:
=LET(
    f,
    LAMBDA(
        f,
        x,
        y,
        z,
        o,
        IF(
            z>0,
            f(
                f,
                IF(
                    o,
                    TOCOL(
                        x&y
                    ),
                    TOCOL(
                        y&x
                    )
                ),
                y,
                z-1,
                o
            ),
            x
        )
    ),
    s,
    SEQUENCE(
        9,
        ,
        1,
        1
    ),
    TAKE(
        REDUCE(
            s&"0"&s,
            {1;2;3},
            LAMBDA(
                a,
                i,
                VSTACK(
                    a,
                    f(
                        f,
                        s,
                        TRANSPOSE(
                            s
                        ),
                        i,
                        1
                    )&0&f(
                        f,
                        s,
                        TRANSPOSE(
                            s
                        ),
                        i,
                        0
                    )
                )
            )
        ),
        1000
    )
)
Excel solution 24 for List Cyclops Palindromic Numbers, proposed by Md Ismail Hosen:
=LAMBDA(N,
     LET(Next_Number,
     LAMBDA(prev_number,
     LET(incr_no_zero,
     LAMBDA(
         Number,
         fx_rec,
          IF(
              ISNUMBER(
                  SEARCH(
                      0,
                       Number + 1
                  )
              ),
               fx_rec(
                   Number + 1,
                    fx_rec
               ),
               Number + 1
          )
     ),
     left_part,
     incr_no_zero(LEFT(prev_number,
     (LEN(
         prev_number
     ) - 1) / 2),
     incr_no_zero),
     right_part,
     TEXTJOIN(
         "",
          TRUE,
          MID(
              left_part,
               SEQUENCE(
                   LEN(
                       left_part
                   ),
                    ,
                    LEN(
                       left_part
                   ),
                    -1
               ),
               1
          )
     ),
     next_number,
     left_part & "0" & right_part,
     next_number * 1)),
     Result,
     REDUCE(
         {101},
          SEQUENCE(
              N - 1
          ),
          LAMBDA(
              a,
              c,
               VSTACK(
                   a,
                    Next_Number(
                        INDEX(
                            a,
                             c,
                             1
                        )
                    )
               )
          )
     ),
     Result))(1000)
Excel solution 25 for List Cyclops Palindromic Numbers, proposed by Hazem Hassan:
=TAKE(
    
     TOCOL(
         
          MAP(
              
               SEQUENCE(
                   1500
               ),
              
               LAMBDA(
                   x,
                   
                    IF(
                        
                         ISERR(
                             FIND(
                                 0,
                                  x
                             )
                         ),
                        
                         x & 0 &
                         CONCAT(
                             
                              MID(
                                  x,
                                   SORT(
                                       SEQUENCE(
                                           LEN(
                                               x
                                           )
                                       ),
                                        ,
                                        -1
                                   ),
                                   1
                              )
                              
                         ),
                        
                         1 / 0
                         
                    )
                    
               )
               
          ),
         
          3
          
     ),
    
     10 ^ 3
    
)
Excel solution 26 for List Cyclops Palindromic Numbers, proposed by Hazem Hassan:
=LET(
    
     a,
     SEQUENCE(
         1500
     ),
    
     b,
     TAKE(
         FILTER(
             a,
              ISERR(
                  FIND(
                      0,
                       a
                  )
              )
         ),
          10 ^ 3
     ),
    
     b & 1 - SEQUENCE(
         10 ^ 3
     ) ^ 0 &
     BYROW(
         
          MID(
              
               b,
              
               SORT(
                   
                    SEQUENCE(
                        ,
                         MAX(
                             LEN(
                                 b
                             )
                         )
                    ),
                   
                    ,
                   
                    -1,
                   
                    1
                    
               ),
              
               1
               
          ),
         
          CONCAT
          
     )
    
)
Excel solution 27 for List Cyclops Palindromic Numbers, proposed by Josh Brodrick:
=LET(
    array,
    MAP(
        SEQUENCE(
            1000000,
            ,
            100
        ),
        
        
        LAMBDA(
            x,
            
            
            IF(
                
                 AND(
                     
                      LEN(
                          x
                      )=3,
                     
                      MID(
                          x,
                          2,
                          1
                      )="0",
                     
                      MID(
                          x,
                          1,
                          1
                      )=MID(
                          x,
                          3,
                          1
                      )
                 ),
                x,
                
                IF(
                    
                     AND(
                         
                          LEN(
                          x
                      )=5,
                         
                          MID(
                          x,
                          3,
                          1
                      )="0",
                         
                          MID(
                              x,
                              {1,
                              2},
                              1
                          )=MID(
                              x,
                              {5,
                              4},
                              1
                          )
                     ),
                    x,
                    
                    IF(
                        
                         AND(
                             
                              LEN(
                          x
                      )=7,
                             
                              MID(
                                  x,
                                  4,
                                  1
                              )="0",
                             
                              MID(
                                  x,
                                  {1,
                                  2,
                                  3},
                                  1
                              )=MID(
                                  x,
                                  {7,
                                  6,
                                  5},
                                  1
                              )
                         ),
                        x,
                        
                        IF(
                            
                             AND(
                                 
                                  LEN(
                          x
                      )=9,
                                 
                                  MID(
                                      x,
                                      5,
                                      1
                                  )="0",
                                 
                                  MID(
                                      x,
                                      {1,
                                      2,
                                      3,
                                      4},
                                      1
                                  )=MID(
                                      x,
                                      {9,
                                      8,
                                      7,
                                      6},
                                      1
                                  )
                             ),
                            x,
                            0
                            
                             
                        )
                         
                    )
                     
                ) 
                 
            )
             
        )
        
    ),
    
    
    FILTER(
        array,
        array<>0
    )
)
Excel solution 28 for List Cyclops Palindromic Numbers, proposed by Arden Nguyen, CPA:
=LET(
 n,
     1000,
    
 a,
     LAMBDA(_a,
     _b,
     _s,
    
 IF(
 ROWS(
     _a
 ) < n,
    
 _s(
 VSTACK(
 _a,
    
 HSTACK(
 INT(SEQUENCE(9 ^ (_b + 1),
     ,
     ,
     1 / 9 ^ (_b))),
    
 INDEX(
 TAKE(_a,
     -(9 ^ (_b))),
    
 MOD(SEQUENCE(9 ^ (_b + 1)) - 1,
     9 ^ _b) + 1,
    
 SEQUENCE(
     1,
      COLUMNS(
     _a
 )
 )
 )
 )
 ),
    
 _b + 1,
    
 _s
 ),
    
 TAKE(
     _a,
     n
 )
 )
 ),
    
 b,
     IFNA(
         a(
             SEQUENCE(
                 9
             ),
              1,
              a
         ),
          ""
     ),
    
 c,
     SORTBY(
         b,
          SEQUENCE(
              ,
               COLUMNS(
                   b
               ),
               ,
               -1
          )
     ),
    
 d,
     BYROW(
         HSTACK(
             b,
              SEQUENCE(
                  ROWS(
                   b
               ),
                   ,
                   0,
                   0
              ),
              c
         ),
          LAMBDA(
              _r,
               CONCAT(
                   _r
               )
          )
     ),
    
 d + 0
)
Excel solution 29 for List Cyclops Palindromic Numbers, proposed by Tyler Cameron:
=LET(
    data,
    
    MAP(
        SEQUENCE(
            100000,
            ,
            1
        ),
        
        LAMBDA(
            array,
            
            IFERROR(
                IF(
                    SEARCH(
                        0,
                        array
                    )>0,
                    0
                ),
                CONCAT(
                    array,
                    0,
                    TEXTJOIN(
                        "",
                        1,
                        MID(
                            array,
                            {10,
                            9,
                            8,
                            7,
                            6,
                            5,
                            4,
                            3,
                            2,
                            1},
                            1
                        )
                    )
                )
            )
        )
    ),
    FILTER(
        data,
        data<>0
    )
)

Solving the challenge of List Cyclops Palindromic Numbers with Python

Python solution 1 for List Cyclops Palindromic Numbers, proposed by John V.:
Hi everyone!
or
Blessings!
                    
                  

Solving the challenge of List Cyclops Palindromic Numbers with R

R solution 1 for List Cyclops Palindromic Numbers, proposed by Konrad Gryczan, PhD:
Brute force - get a sequence and check all conditions on it
Generative - build numbers on certain conditions
library(tidyverse)
library(stringi)
library(readxl)
test = read_excel("Excel/370 Palindromic Cyclops Number.xlsx", range = "A1:A1001") %>%
 mutate(`Expected Answer` = as.integer(`Expected Answer`))
generate_cyclopic_palindromes <- function(n) {
 half_parts <- seq(1, 10^n - 1) %>% 
 keep(~ !str_detect(.x, "0")) %>% 
 map_chr(~ paste0(.x, "0", stri_reverse(.x))) %>% 
 as.integer()
 
 half_parts
}
palindromic_cyclopic_numbers <- generate_cyclopic_palindromes(4) %>%
 head(1000)
                    
                  

Solving the challenge of List Cyclops Palindromic Numbers with DAX

DAX solution 1 for List Cyclops Palindromic Numbers, proposed by Zoran Milokanović:
EVALUATE
SELECTCOLUMNS(
 ADDCOLUMNS(
 TOPN(1000, FILTER(GENERATESERIES(1, 1500), SEARCH("0", [Value], 1, 0) = 0)),
 "S",
 VAR V = CONVERT([Value], STRING)
 VAR L = LEN(V)
 VAR R = CONCATENATEX(GENERATESERIES(1, L), MID(V, L - [Value] + 1, 1), "")
 RETURN
 INT(V & "0" & R)
 ),
 "Expected Answer",
 [S]
)
                    
                  

&

Leave a Reply