Post Reply 
Tripartite Palindromic Partition of Integer (HP 50g) Challenge
03-03-2023, 03:54 AM (This post was last modified: 03-03-2023 03:56 AM by Gerald H.)
Post: #38
RE: Tripartite Palindromic Partition of Integer (HP 50g) Challenge
Here a faster version of programme PALIN.

ID xI→NL is a stand alone version of ListExt function as I prefer to have a stand alone library.

Code:
Size: 381.

CkSum: # C5B5h

::
  CK1&Dispatch
  # FF
  ::
    DUP
    ID xI→NL
    DUPLENCOMP
    UNCOERCE
    DUP
    %7
    %<
    case
    ::
      2DROP
      ID P3
      INCOMPDROP
    ;
    SWAP
    ID NTYPE
    {
      LAM num
      LAM n
      LAM type
      LAM special
      LAM d
      LAM p1
      LAM p2
      LAM p3
    }
    BIND
    LAM special
    FPTR2 ^ZIsOne?
    ITE
    ::
      LAM num
      LAM p1
      ID ALGO5
    ;
    ::
      LAM d
      LAM p1
      LAM p2
      LAM p3
      {
        "A1"
        "A2"
        "A3"
        "A4"
      }
      LAM type
      EQUALPOSCOMP
      UNCOERCE
      LAM n
      %2
      %MOD
      XEQAND_
      {
        "A5"
        "A6"
      }
      LAM type
      EQUALPOSCOMP
      UNCOERCE
      LAM n
      %2
      %MOD
      XEQNOT_
      XEQAND_
      XEQOR_
      %1
      %=
      case
      ID ALGO1
      LAM type
      CAR$
      CHR \41
      EQUAL
      case
      ID ALGO2
      LAM n
      %2
      %MOD
      %0=
      case
      ID ALGO4
      ID ALGO3
    ;
    ABND
  ;
;
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Tripartite Palindromic Partition of Integer (HP 50g) Challenge - Gerald H - 03-03-2023 03:54 AM



User(s) browsing this thread: 4 Guest(s)