HP Forums
(49G) OEIS A028907 - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: General Software Library (/forum-13.html)
+--- Thread: (49G) OEIS A028907 (/thread-2473.html)



(49G) OEIS A028907 - Gerald H - 11-22-2014 04:17 PM

From the Online Encyclopaedia of Integer Sequences:

A028907 Arrange digits of squares in ascending order.

0, 1, 4, 9, 16, 25, 36, 49, 46, 18, 1, 112, 144, 169, 169, 225, 256, 289, 234, 136, 4, 144, 448, 259, 567, 256, 667, 279, 478, 148, 9, 169

Just for fun on the 49G, works with Vers 1.19-6 & 2.10-7:

::
CK1&Dispatch
# FF
::
FPTR2 ^DupQIsZero?
?SEMI
NULL$SWAP
FPTR2 ^ZSQ_
FPTR2 ^Z>S
BINT10
ONE_DO
INDEX@
#>$
NULL$
FPTR F 1A
COERCEDUP
#0=ITE
DROP
::
ROTSWAP
ZERO_DO
JINDEX@
#>$
&$
LOOP
SWAP
;
LOOP
DROP
FPTR2 ^S>Z
;
;
@

Enter the index & the value is returned.


RE: (49G) OEIS A028907 - AerobarSW - 01-28-2024 08:14 PM

Also for fun, 2 UserRPL versions:
1/ for HP-49/50
Code:
 « SQ
   IF DUP 9 > THEN
      { }
      WHILE OVER REPEAT 
         SWAP 10 IDIV2 ROT + 
      END
      NIP SORT
      « SWAP 10 * + » STREAM 
   END
 » 'A028907' STO
2/ for HP-28, without calling a sort function:
Code:
 « SQ { }
   WHILE OVER REPEAT 
      SWAP 10 MOD LAST / IP SWAP ROT + 
   END
   1
   WHILE DUP 9 ≤ REPEAT
      WHILE DUP2 POS REPEAT
         LAST ROT SWAP 0 PUT
         ROT 10 * ROT SWAP OVER + ROT ROT
      END
      1 +
   END DROP2
 » 'A028907' STO
My old HP-28S runs it only 3 times slower than my Hp-50g does.


RE: (49G) OEIS A028907 - mfleming - 01-29-2024 03:52 PM

I'm sure there's a better APL expression, but I have a pretty poor handicap in code golf Smile

Code:

      OEIS_A028907←{10⊥a[⍋a←(10⍴⍨(≢⍕)⍵)⊤⍵]}
      OEIS_A028907 321
123
      (¯1+⍳32)*2
0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841 900 961
      OEIS_A028907¨(¯1+⍳32)*2
0 1 4 9 16 25 36 49 46 18 1 112 144 169 169 225 256 289 234 136 4 144 448 259 567 256 667 279 478 148 9 169
(Beware the mangled Tally symbol next to Thorn)