Post Reply 
HP 50g: Programming Problem: Integer Partition in Palindromic Integers
01-26-2018, 03:50 PM (This post was last modified: 02-07-2018 05:36 PM by Gerald H.)
Post: #1
HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Every integer can be written as the sum of palindromic integers, eg

542 = 535 + 7

& in fact 49 palindromes are sufficient to express any integer, as proven here

https://arxiv.org/pdf/1508.04721.pdf

The task I'm interested in is producing a stand alone User RPL programme for the 50g that will decompose any positive integer into a sum of palindromes, the fewer the better.

For example the number

407374883553280653444058251937

can be decomposed in 120 palindromes:

Code:
:120:{
99999999999999999999999999999
99999999999999999999999999999
99999999999999999999999999999
99999999999999999999999999999
999999999999999999999999999
999999999999999999999999999
999999999999999999999999999
999999999999999999999999999
999999999999999999999999999
999999999999999999999999999
999999999999999999999999999
99999999999999999999999999
99999999999999999999999999
99999999999999999999999999
9999999999999999999999999
9999999999999999999999999
9999999999999999999999999
9999999999999999999999999
9999999999999999999999999
9999999999999999999999999
9999999999999999999999999
999999999999999999999999
999999999999999999999999
999999999999999999999999
999999999999999999999999
99999999999999999999999
99999999999999999999999
99999999999999999999999
99999999999999999999999
99999999999999999999999
99999999999999999999999
99999999999999999999999
99999999999999999999999
9999999999999999999999
9999999999999999999999
9999999999999999999999
9999999999999999999999
9999999999999999999999
9999999999999999999999
9999999999999999999999
9999999999999999999999
999999999999999999999
999999999999999999999
999999999999999999999
99999999999999999999
99999999999999999999
99999999999999999999
99999999999999999999
99999999999999999999
9999999999999999999
9999999999999999999
9999999999999999999
9999999999999999999
9999999999999999999
999999999999999999
999999999999999999
999999999999999999
99999999999999999
99999999999999999
9999999999999999
9999999999999999
9999999999999999
9999999999999999
9999999999999999
9999999999999999
9999999999999999
9999999999999999
99999999999999
99999999999999
99999999999999
99999999999999
99999999999999
99999999999999
9999999999999
9999999999999
9999999999999
9999999999999
9999999999999
999999999999
999999999999
999999999999
99999999999
99999999999
99999999999
99999999999
9999999999 9999999999
9999999999 9999999999
999999999 999999999
999999999 999999999
9999999 9999999
9999999 9999999
9999999 999999 999999
999999 999999 999999
999999 999999 999999
99999 99999 9999 9999
9999 9999 9999 999
999 22 11 9 9 1 }

& in 6

Code:
:6:{
407374883553280082355388473704
571088666880175
2897982 66 9 1 }

& in 5

Code:
:5:{
407374883553280082355388473704
571088646880175
22888822 9229 7 }

which may be minimal.

The programme should produce a list ordered by decreasing magnitude & tagged with the number of elements.

Smaller & faster programmes are desirable but the critical characteristic is lowest number of elements in the decomposition.

As a standard test for the programme I suggest input of

13^1313

a 1,463 digit integer, correct decompositions being the target & least number of elements deciding the winner.
Find all posts by this user
Quote this message in a reply
02-01-2018, 11:20 AM (This post was last modified: 02-07-2018 05:38 PM by Gerald H.)
Post: #2
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Edited to "39g programme" from "38G programme" - sorry for the error.

Well, not much progress made on this, unless members are keeping their solutions secret.

Meanwhile I have produced a complete solution for the 39g, although I do not claim that the partitions share the characteristic of having a minimum number of elements in the respective palindromic partition.

The 39g programme has one sub programme, N2DS, which for natural number input Ans produces a list of digits in list L2, eg for input

23405

L2 will contain

{5,0,4,3,2}

which may in itself be useful.

Code:
N2DS

Ans►T:
CLRVAR L2:
FOR I=1 TO INT(LOG(T)+1) STEP 1;
 T MOD 10:
CONCAT(L2,{Ans})►L2:
INT(T/10)►T:
END:

The main programme, P24U, which for natural number input Ans produces a list of the palindromic partition members in descending order in list L1. eg For input

987654321678

L1 will contain

Code:
{899999999998,79999999997,6999999996,599999995,49999994,3999993,299992,19991,999​,595,66,9,8,8,7,6,5,5,4,4,3,2,1}

Code:
P24U

Ans►N:
IF Ans<10
THEN
{N}►L1:
ELSE
N:
RUN N2DS:
{L2(1)}►L1:
SUB L2;L2;2;12:
FOR I=1 TO SIZE(L2) STEP 1;
 L2(I):
Ans►H:
IF H
THEN 
IF H>1
THEN
11-H:
END:
CONCAT(L1,{Ans,10^I*H-Ans})►L1:
END:
END:
END:
REVERSE(SORT(L1))►L1:

As the 39g is limited to 12 digit integers, the above programme solves the problem completely on that machine.

However, as the algorithm produces two elements of the partition for each digit, the method becomes impractical on the 49G for , say, 6,000 digit numbers.

I again encourage members to apply themselves to this interesting, if unimportant, problem.
Find all posts by this user
Quote this message in a reply
02-02-2018, 08:21 AM (This post was last modified: 02-02-2018 08:23 AM by Gerald H.)
Post: #3
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
A slightly modified version of the programme to remove the occurrence of 0 in the partition if the input ends in 0:

Code:
P24U

Ans►N:
IF Ans<10
THEN
{N}►L1:
ELSE
N:
RUN N2DS:
L2(1):
IF Ans
THEN
{Ans}►L1:
ELSE
CLRVAR L1:
END:
SUB L2;L2;2;12:
FOR I=1 TO SIZE(L2) STEP 1;
 L2(I):
Ans►H:
IF H
THEN 
IF H>1
THEN
11-H:
END:
CONCAT(L1,{Ans,10^I*H-Ans})►L1:
END:
END:
END:
REVERSE(SORT(L1))►L1:
Find all posts by this user
Quote this message in a reply
02-04-2018, 08:13 AM
Post: #4
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Here a corrected version for the 38G:

Code:
N2DS

 Ans►T:
 SYSEVAL 532278:
 FOR I=1 TO INT(LOG(T)+1) STEP 1;
  T MOD 10:
 CONCAT(L2,{Ans})►L2:
 INT(T/10)►T:
 END:

P24U

Ans►N:
 IF Ans<10
 THEN
 {N}►L1:
 ELSE
 N:
 RUN N2DS:
 L2(1):
 IF Ans
 THEN
 {Ans}►L1:
 ELSE
 SYSEVAL 532268:
 END:
 SUB L2;L2;2;12:
 FOR I=1 TO SIZE(L2) STEP 1;
  L2(I):
 Ans►H:
 IF H
 THEN 
 IF H>1
 THEN
 11-H:
 END:
 CONCAT(L1,{Ans,10^I*H-Ans})►L1:
 END:
 END:
 END:
 REVERSE(SORT(L1))►L1:
Find all posts by this user
Quote this message in a reply
02-05-2018, 12:22 AM
Post: #5
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
This program returns the Palindromic Integers of an integer's partition to the stack. The idea is simple, but the program got somehow complicated.

«
WHILE DUP 10 >
REPEAT
DUP →STR DUPDUP SIZE 2 / SWAP 1 PICK3 SUB
DUPDUP 1 5 PICK FLOOR SUB SREV +
4 ROLL OVER <
{ DROP DUP OBJ→ 1 - →STR DUP ROT SIZE SWAP SIZE
‹ -.5 * ROT + OVER 1 ROT FLOOR SUB SREV + }
{ NIP NIP } IFTE OBJ→ SWAP OVER -
END DUP 10 == { DROP 9 1} IFT
»
Find all posts by this user
Quote this message in a reply
02-05-2018, 06:03 AM (This post was last modified: 02-05-2018 06:06 AM by Gerald H.)
Post: #6
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Very nice & short, Juan14, well done!

& the number of elements in the partition is at most log2(SIZE(N)), so a 6,000 digit number requires about 12 palindromes, sadly the programme does not work correctly for all 6,000 digit numbers.
Find all posts by this user
Quote this message in a reply
02-05-2018, 06:22 AM (This post was last modified: 02-07-2018 05:25 PM by Gerald H.)
Post: #7
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Your programme, Juan14, works correctly for 13^1313 but not for the 6,000 digit number

Code:
66819812547829415891036658681554804646616447872786255582670445570441888684723605​37990161080037565173402270071938432190286569709763738744557271968431167063750521​99239667522851896442043515465907397273648461935739704478199943218426705969942235​25740174471472002273784701616658049223339713196911691728830614047238319875257799​06927001984972363301563539250762188073770307637244493637806753993651911674761695​82818053343351137655276699778055322226035412321402822796233524437885844787133529​91147765362332740290274155213082384514236152483143026435674898834325099868866916​12633449726668597230030398230151963598133293396900777806176568418509403449193340​19421035083624243355546620757187435600466389666990363417499401360899828287607335​66972644035387518709656102691447398398353476182673507204535879031564649163693615​28569190170545781178264691349090028006126332563280672564667369362381975855495660​08406917733980492004752909340316527394417311071086756506579045704238946939409788​31239249156149562503858550781873650677737810834802133493523646677269680950552489​32296349232841070705965424919686511926956962495244036507553134397887280534476562​94952816412454117636015843597566697158474977436106830825672580482395909146817031​00110831140207751603680211502426446160424124250928773042548332953377957449465176​68912998763319339017726458619835798368182271308069240037145462182225638087058042​21009511110330306812204844221558747846243269750021472775798982630622906376248313​68367560958765015286045563071634404947250321323752527932781797867527779873064687​78959853075505447282229886088642765660246966343190195839660087327381147164259195​24707516927735083438439217030892775252006139144190437583838609457355057812415897​35184406007410603584742818200084759938362868141975843529502272530182850223818752​32225227477144666220810954728014682216679811841106299037313911712375775073291919​37197273663088873296701640062546882138496337487179941654001888791324033168251061​00444137417265280787450264226333421613796503826715248335363653590271743728104310​52571093557419235037957338427036679528894202730437454705403251378609460059563228​99257844329271673089919157421732978253815984880718473138186583017267153585000799​27213913030527043931654613949686767291399783405914327366431620909389859731561710​18563816762171024602272722027605913819286537671212664876610718791637865583834109​37042288004727311791273435353384053585786992253382341007285157441257411847716724​04332299484384048342377173309145551884197177803169227724688203634759475304280139​27194732343563933052069602897836657125798871716991162216708646556901586329646657​90415576797550618555464794929668107690428755575626138835308735087403117312342389​02006433421138143839879826404214448861237712154993477655416771736985482394918164​34851712996321761266805107646626984628842634945711572704746572291114656988027789​08100791511078017956691541039179139452438174957207712983944369444216250680499673​78143747288697406697660755703734252852554099601826604063234356174332781687742604​41447001923824910242288800216070084613395546188947051354555843296044366038679491​12268995253280945946965183763539240822981395209769042278160297503459623857954997​43827457321943983827089827827510337337006852159856994315143237998796357582786824​86213882702112449987523406225075944501088600104948566941200380830899667823221879​32345658490540842132185015720327330489402451600874267735783839914235350768250475​21693028934705554975401275193631717516808494337684339856551604188748749379754543​31050081841424198501463847165627978278281027418856590032767650355388709869363627​39242439685843597623432632113926240909222331070988423051888529004872317341139995​86555264566962365137113936182844779409817578196401885702522886673402801168978423​98956571608266727989108498865831210004184589947222894490353251490798609601044276​19669632385622100919625266370104505566176838390754219015790739098526318985994394​84565573444116274207475688813520169585179186708335343831244855543445985759272780​69673576576091715142427898944604848507258200457998289241209216995838464734855387​34390733701050516875854392464583582926829715770830117414058391741199453983916626​12223651067975349547431333324356226676602896998967970897425930847005461342759401​04125987019036394166594420674031051387131279392470283577691645410805261263817078​23829422833230713841130330767101669769134403020880868443213871501318433621437153​14862316763882163715413289415030849351460316855297676107285211144526158147252208​10115687622154273940167357159301983443914390757860648193956828054507064751890933​52576774590489304244342581042736781783076125429266252205339099108289557487905058​59762266620982016543293438315669699830481914129926410233169987396476405634974557​22352891790668312502544393133643699707477665054552182293253904129032007249680373​65655515277713020075690454659662854869478934887814512177491806691725516847474682​20800881078240623984282198933385664323602318582342379939663360751838851423759298​21638317655287621929257384463830468334910295106863156671879310984488101844142288​97505474963545228229885349246796090680562199116116843122516759500394519108956166​88236435379593346080411641319415477900177595465576234443172539398907708914600596​77831533799236139020961600057268534895324963753610261541978842969564667285743979​03473433788873076799027751125533936573975082593790642547653999604512656821832777​55224199261653223350616695351701266690815170085709272237695114468202739207649393​56081756068281358082854193972095694783597890587293845796730501824577476208665649​80285719423037641462394000741879055737257148831233362234814586565665638213561896​20756556008309221776365442189716713275780944891639373854086394820686028702890471​43037488316150177805566723841056441804410089178981680432670268318216786872747984​58712383186117770407509577052033143265018331248173772872997761530908754833918121​92616232335260508751868190613714910754911142403867516548915761643485042598087173​93394618377932786405511863711663968832743312525907544451752293363877545468978802​41578277859436250322859781775347221081614862605278644138005897576544471598504605​

while I would expect it to return

Code:
:12: {

66819812547829415891036658681554804646616447872786255582670445570441888684723605​37990161080037565173402270071938432190286569709763738744557271968431167063750521​99239667522851896442043515465907397273648461935739704478199943218426705969942235​25740174471472002273784701616658049223339713196911691728830614047238319875257799​06927001984972363301563539250762188073770307637244493637806753993651911674761695​82818053343351137655276699778055322226035412321402822796233524437885844787133529​91147765362332740290274155213082384514236152483143026435674898834325099868866916​12633449726668597230030398230151963598133293396900777806176568418509403449193340​19421035083624243355546620757187435600466389666990363417499401360899828287607335​66972644035387518709656102691447398398353476182673507204535879031564649163693615​28569190170545781178264691349090028006126332563280672564667369362381975855495660​08406917733980492004752909340316527394417311071086756506579045704238946939409788​31239249156149562503858550781873650677737810834802133493523646677269680950552489​32296349232841070705965424919686511926956962495244036507553134397887280534476562​94952816412454117636015843597566697158474977436106830825672580482395909146817031​00110831140207751603680211502426446160424124250928773042548332953377957449465176​68912998763319339017726458619835798368182271308069240037145462182225638087058042​21009511110330306812204844221558747846243269750021472775798982630622906376248313​68367560958765015286045563071634404947250321323752527932781797867527779873064687​78959853075505447282229886088642765660246966343190195839660087327381147164259195​24707516927735083438439217030892775252006139144190437583838609457355057812415897​35184406007410603584742818200084759938362868141975843529502272530182850223818752​32225227477144666220810954728014682216679811841106299037313911712375775073291919​37197273663088873296701640062546882138496337487179941654001888791324033168251061​00444137417265280787450264226333421613796503826715248335363653590271743728104310​52571093557419235037957338427036679528894202730437454705403251378609460059563228​99257844329271673089919157421732978253815984880718473138186583017267153585000799​27213913030527043931654613949686767291399783405914327366431620909389859731561710​18563816762171024602272722027605913819286537671212664876610718791637865583834109​37042288004727311791273435353384053585786992253382341007285157441257411847716724​04332299484384048342377173309145551884197177803169227724688203634759475304280139​27194732343563933052069602897836657125798871716991162216708646556901586329646657​90415576797550618555464794929668107690428755575626138835308735087403117312342389​02006433421138143839879826404214448861237712154993477655416771736985482394918164​34851712996321761266805107646626984628842634945711572704746572291114656988027789​08100791511078017956691541039179139452438174957207712983944369444216250680499673​78143747288697406697660755703734252852554099601826604063234356174332781687742604​41447001923824910242288800216070084613388331648007061200888224201942832910074414​40624778618723347165343236040662810699045525825243730755706679660479688274734187​37699408605261244496344938921770275947183425493197193014519665971087011519700180​98772088965641119227564740727511754943624882648962664670150866216712369921715843​46181949328458963717761455677439945121773216884441240462897893834183112433460020​98324321371130478053780353883162657555782409670186692949746455581605579767551409​75664692368510965564680761226119961717889752175663879820696025033936534323749172​93108240357495743630288642772296130877179148815554190337177324384048348499223340​42761774811475214475158270014328335229968758535048335353437219711372740088224073​90143838556873619781701667846621217673568291831950672022727220642017126761836581​01716513795898390902613466372341950438799319276768694931645613934072503031931272​99700058535176271038568183137481708848951835287923712475191998037617292344875299​82236595006490687315230450745473403720249882597663072483375973053291475539017525​01340182734717209535636353384251762830569731612433362246205478708256271473144400​16015286133042319788810045614997178473369483128864526004610769237888036637279173​91919237057757321711931373099260114811897661228641082745901802266644177472252223​25781832205828103527220592534857914186826383995748000281824748530601470060448153​79851421875055375490683838573409144193160025257729803071293483438053772961570742​59195246174118372378006693859109134366964206656724688068892228274450557035895987​78646037897772576879718723972525732312305274940443617036554068251056785906576386​31384267360922603628989757727412005796234264874785512244840221860303301111590012​24085078083652228126454173004296080317228186389753891685462771093391336789921986​67156494475977335923384524037782905242142406164462420511208630615770204113801100​13071864190959328408527652803860163477947485179666579534851063671145421461825949​26567443508278879343135570563044259426965962911568691942456950707014823294369223​98425505908696277664632539433120843801873777605637818705585830526594165194293213​88790493964983240754097560565768017011371449372561304390925740029408933771960480​06659455857918326396376646527608236523362160082009094319646287118754507109196582​51639636194646513097853540270537628167435389389374419620165690781578353044627966​53370678282899806310499471436309966698366400653478175702664555334242638053012491​04339194430490581486567160877700969339233189536915103289303003279586662794433621​61966886899052343889847653462034138425163241548328031255147209204723326356774119​92533178744858873442533269722820412321453062222355087799667255673115334335081828​59616747611915639935760873639444273670307737088126705293536510336327948910072960​99775257891383274041603882719611969131793332294085661610748737220027417447104752​53224996950762481234999187440793753916484637279370956451534024469815822576693299​12505736076113486917275544783736790796568209123483917007220437156573008016109973​50632748688814407554407628555268727874461664640845518685663019851492874521891866​

72145409399901536676190941015331286050767164421663455759878162194772287643012393​58693845253115224536178429799355832208100612804871668273933074488890574006138982​34266666598013006235720277093460630866438744179373647133075995866549756418955746​37174559859022710495146141872979015060358616370916208187841442356004288738536762​92347164330272728859460800522383347904542336870756357507692162092131046905996102​60846674976469068051486071431696122031335538538947291323293678308593950801656039​12752431927102120716253214521755456144544613419932834785399314398934163011003204​31822554342327147112046208239688419166554379348975548715066195566616851644417984​88196613535503490856669620300610807543500881273305139310820740683101920999233061​62981152722224676260308487814828392076951795311858972371001701179999776255512737​75191139855240841451251644538159540631218486551490894000316890750567603846073622​73514204116313560528575058286934143974808743698156960102782719744819913144478700​83178603352167578332439425469891958378623305055096633330734021803908033182009625​99841583967551678529130329431825107722259620836493493302975862128770935904820323​34138701034448928151616091174247054802271220674996127907245466304757477093657523​36181638292008317898431441610837915648549804759062740261031390973823224375558230​80190251328681613891229707169635609889993501089488882678822472945084162170515830​02915975678730359917277064723851856814655092044144803590156216066330019284907695​01841011359601250645997800565077159949457393073669271672736446372761729663703937​54949951770565008799546052106953110148105967094829100336606126510953084414402905​56418658158327460772719953037876579519200385150712614805492742288762888849801053​99988906536961707922198316186823152091080328555734223283790931301620472609574089​45846519738016144134898713800292836181633257563907747574036645427097216994760221​72208450742471190616151829844430107831433230284095390778212685792033943946380269​52227701528134923031925876155769385148995269002813308093081204370333366905505033​26873859198964524934233875761253306871380078744413199184479172872010696518963478​08479341439682850575825065313611402415372263706483067650570986130004980941556848​12136045951835446152154148042558931191577372155526779999711071001732798581135971​59670293828418784803062676422227251189261603329990291013860470280139315033721880​05345708016003026966658094305535316691884897144461586166655916605178455798439734​55661914886932802640211741723243455228134023001103614398934139935874382399143164​45441654557125412352617021201729134257219306561080593958038763923231927498358355​33130221696134170684150860964679476648062016995096401312902612967057536570786332​45409743383225008064958827272033461743292676358378824006532441487818026190736168​53060510979278141641594017220958955471736475598146579456685995703317463739714478​34668036064390772027532600310895666662432898316004750988844703393728661784082160​01802238553997924871635422511352548396853932103467822774912618789575543661244617​6705068213351014909167663510999390454127

16012945291441243139535549364557866790507625202207627031386168707050969056046853​03857105741355000519200738932506524225249354086931686543262494416306580868029448​66733250045912137970947977414459443699891320402198814454927895213463459502846242​99291441715385388644194407137829005186968620457528345005541875153377809805555209​30027515735555324343761255760155328575068189770898695115020562768033193100960459​26389356134674510524910942514165123711916768985770161125816546389940921768019753​20910648000619182835573412455912796443750558622422858397581498658497282618260534​58536064668227125402529815887096176718921686296741400239857948535013110641306914​72365347985088280348159006700598367771734043600590428342823878112242326426566590​46419352701049704682372617503333057162732864079401072539146409566562462324221187​83282438240950063404371777638950076009518430828805897435632741960314601131053584​97589320041476926861298176716907885189252045217228664606358543506281628279485689​41857938582242268550573446972195542143755382819160008460190235791086712904998364​56185211610775898676191173215614152490194250154764316539836295406900139133086726​50205115968980779818605758235510675521673434235555375157200390255550890877335157​81455005438257540268696815009287317044914468835835171441929924264820595436431259​87294544188912040231989963449544147797490797312195400523376684492086808560361449​42623456861396804539425224256052398370029150005531475017583035864065096905070786​168313072670220252670509766875546394553593134214419254921061

50477380673914498070326694420762536586135190572475815981398314621396045170850399​95472238709016241488648611386608108024207980564521450881094219717784061530917209​70375270956918646202422645629345825398595618225417284091501985031949436286477276​63016994561830630538858760151993666797446057695816310880315135583840126579149585​31112448781559926583254745473678438896010883221171741282147171122388010698834876​37454745238562995518784421113585941975621048385531513088013618596750644797666399​15106785883503603816549961036672774682634949130589105190482714522816595893528543​92654622420264681965907257307902719035160487717912490188054125465089702420801806​68311684688414261090783227459993058071540693126413893189518574275091531685635267​02449662307089441937608377405

25183954023379068365067390842836528919381056208050757683323793053512257330524957​29641483169378824498625739517084983671719707322688585983092965059772116338128505​50812318700966354933354028668204533394536690078132180550582183361127795056929038​95858862237079171763894807159375268944288739613841469275942503375221535039732338​675705080265018391982563824809376056386097332045938152

20553632173046730976091475126559548568572482743598089308694200289418711216878963​76290702330784870332070926736987861211781498200249680398089534728427586584595562​157419067903764037123635502

89720550189303524257654416676974724606366319611691366360642747967661445675242530​398105502798

6314340475355910170964884690710195535740434136

92319595296869259591329

68547674586 83638 5

}
Find all posts by this user
Quote this message in a reply
02-05-2018, 10:08 AM (This post was last modified: 02-07-2018 05:26 PM by Gerald H.)
Post: #8
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Her are some smaller numbers that the programme can't process correctly, it might help with trouble-shooting:

Code:
{
28797231965151337295810278861025285370157426676557654539106802804548057952546643​95159947306227733420962242654442537228935528546214667263498996080703581986577413​49998407550103516363682116377188020911133096915147901501918528677944460909087718​73853900284460350573999646716528507706347980920664732962866548220852774762888990​93419579999003260507172674530244695719721600447817663652276864782377724154392420​93312974440210050706248026773516950129300343930003444741272348964776051118927678​27139031230385057654904216502353228825243174756979604793034870706654676174437986​73519541920486046332198565765573139001686856103770494215924240655742304014049253​71493909735100745334934503826309777680113529811737129679642828099468532329008265​78795780858896581546464597250022447248785428701172546341371419027931631988307320​47320066904559123014028282752152951213811389779481133326720466738925087299955771​04693009283795426963570900592528671462867398857866396745937254297083951152500746​28634751102914817340003461972577282175915845368383236979251943429126747505613186​30970819990716230530238634096096747034186971255727011859741869611024809650195816​86205604237531051315157574509501552109362635975901390432257885605102429810346359​86582560122837807156515737400008348696771687309192840528075183777334302313290411​89691023892354757709877363982272481141191844329118319619613433964817518043862557​08146234102749631036864948589976410642931852717974575616582803460379825058043725​11359889793846615469188505943707247522206428105320037574842620048129450523155548​34681662344497054828395312568962345916937889011895388998001903446422112017573082​00118983509736852469422476003715354643862651730195619329833388518307279967190086​64097649893561205375502274334247932241338494362115688262346952276848921835312176​16791651312181810795982830743382202430622100452131476603601051669837384602237630​62078676994719212096120498290311175050831186619066437753219587056982752102592285​16021010544572520667453556673281592564019175504218866431792190438299903549895858​54122209362582487310959976769219898067317586116373455735979967212160207498095183​85446834823043967661575825832324073600829681653503962372250088671117183869697797​6532079824129954452154447220992635449147

96769545309409009396141606058800672441376147803138493177388574067745520380036573​84232685399403436769604005726244147403497149011273644008988498331888625874061575​36470288328164939502150192155844008790772107344715231574328820617763653387623491​91823350874877166604331796701148732311111749235910615164335162918637506628577807​28657411777400321960709055097372268456535375556022419637986072441115761040169186​69925964463294919537293787321943769977888945937978223646727111909294566957728336​24046476296152650749655989550951578274939304689400451248586966326789527957619397​35131722438116736898221401259080218806072799950722199010747625012226965988629269​74623037162274804021271107362823416627860063849149103718292957767016531287623476​54314396862933440427003618451072898332895907826235978877327995633327270188277901​02346323783347130652511097540146448372844921453724451213455697713120033664786604​71116295704876405482393610569856147564951759018630992227775735299752100308829791​82725255232270068520260137160316882304725544166883009005286355290193178412460721​90130408892969015149428140712320333655826020314579824772165001134805525226320311​02861027809733916616350711488618843523440715068538572937138583695367913030897379​09168264722382146305944960842036190669661775099517786911855654011213377247015805​84294860170615940557270368534853173282383020441143476603872849645388217059283515​89740084927773027621351787979612434334720794125016724865803454690039789272753505​33792302815951071400381651161450753339659358823659374974155942794192751384238803​71179615648073165694955693415960371989961216992610819899755687285649829119517312​83697687078945090247249601235145100817317431716394484081357675102609708450333826​65317029572753623173963944563508034792733902839249598937421546924359781414947471​71943945704587560066956819297657173310958599075981173175148044616794096367210808​48029837233608978466476179788746840709888413278802716009781979746766555544647271​95099929241517884199082249081805215650847061210837417755231336760051508945189445​36168565671081784369254378889910165005165173969317713877393497637633499782124898​34056842311992520057590450098096575825993406882233831466308901782351345067998873​2480041577058389121954653672983928822292

45838905017052024425525176255628666621143637467220000723839276918937351458595303​39821104967862894108586565796051657475528220814360702884959191726054175777328867​28178861778329825692238185235687831612024647392446956587584173959369299003230496​28795829541585751787848691523000001749959476219567891683182959059281858369997860​90190769563026576896618313984106519640765232007135650927245769777651861677499193​52932549849722587534584937844277129642927543123281142468977892031960707098937313​95358075125180191655386144488052019301902433467885518797562706565385845291318633​80554327417450976621711919888799707697729473848065592821096140602753022253717406​09921446218575485255372004235656829151478054660366461130605228793736056101960290​48333479803637694435988604220695028154443122409194833583837516955473823245760857​10691201139281954323552963678994524775626755094848249529306250964761998375130572​31782193866877069169387567564429157719763328693485492441468754273561767755946137​65665739829255056816356919013746241930661444345474550967863289824494779311059189​84283765265769940110066924874762639011759211828379589163057165510236356763749267​88349650617769346112922539478150993134618932328743516542450044514841319172030714​77978993476825828858411794202710178868733881844635450648185017962745068006720859​82149435863136134552662211876064482144984322002182424676952425763905720522364824​80494277551495214284837241340560143921197355549875294443672427038881300137127780​64104123104366608814546322682846455639329947323976322072818979777726901903795394​36719254043319416635243234564932092842222906101551572901623991815978054446475136​95847055781924546516117831035341751995038479363360236764037589652552734358075467​26950365787959069535783764102093751542883579308209052239229542942651199831631631​15472167192439906433580288868367941121225109981668515009706005964228140153149223​75219772110465370889845311983922868600207992876647554046616916952312516797263924​72285667959414762184646723031176048397495107426502426934164350085886821880670213​45193000991641193921914118158391530297582680136460161092726687202814604316716090​68434649628904237351056796057474376823980025688443777027431147221743739169486771​047944328820302039159377135550854041857

48564062893637581376978677013936096381020808346523533834861966514029804865070244​36897267093878724702454137271759008338855686922703473323862094591259614417770923​05174615372106419282294199896272622443743816901916499822706384411493975098136345​11832651717419645241964165944354284829525392183271808846008918564037386476338215​39325499073102926085858160081089902251379407160856814779856881682687574545127549​41841893965151530205733692896667535250599569233495672289550176765138804108900868​71271410998609424667121369333710341325862072861114936818636967880651484893494416​10972281017383579718184662822194026651762916254291766360245447522463693269284010​64389909420454982801209933469411380309143345536517652045136871371031853313028924​39055359033996992962489359321301019289242784452860960078330905463306135117214626​62554933020861991913459937273092926051976920805025923718723047083680775696151323​69957493740464802017978141120373178951598194181017291874030029986856724850521342​01002513089682156309108455979850815213498443726301733989362250373667769826849329​54986142593020124484643833914771313052921063539402138133669300413253656549258386​89008925614912158691391118746306009684230812908484352557855375772053616868022307​66955462480276959942950757060904153848007266820745386620581104491724136441264879​04013148102145916317861367695259822217473837438415599319798364593265215730144298​56058756153436828929819228883282861849144819320638290023954447979059529577953925​36960157600458407610100645725354855185283590360893843698053455809552518652313759​22721330395137168604173543135514314160687632711640060827201878012461146249431947​09359586744507991921363147386045776700265988646124678234396814452666945321096499​99961809089348663048235249935868421821595698871336175679165505595016205279168323​81918610062651211469443922466663383910429013668035252479575757134414962694518350​64633253207804369166825853287691552492512012943395743677103208597813409900178673​57003354194436524580200239752603709146152480458882395905558542533733480892864734​41785299312446143587919659057506531232794125846648733258230294045658621647485606​48482166481102321976314666543427314777970378231936475809862126678184375004300926​29109780792722163446858735148499626679878907710223356100639297702075555402294351​56622061687044216072663154388239641897088705868582994265809143935248476237622702​93620682496516295443910758567807246514660837499646207595369517961962263610931831​84314798290416356737591837054833328205162989075967199226540241392135291527392324​65289917726955078918

44442840187184249379486313408939572854501663045171884548454766388324978394690011​08444384307362873399476887028558143422587932105463180378948859688924511312888155​61410981818856216404706414490355003104597405999532589303665696558492876183504412​45109309857135671257062208247811657117472650960462336447237243400181511821451897​17139357241968788308418284712109181722301992268092063124657242062549422094377065​24533933045782797915491124795737131104358128277448833339074136818431487669672719​26783035398529927833019839640458383185545031695820188893821520188488964075981221​33977726650977615364213595356548027291201033811192002487337765351045611611794562​49247482530113317932970549472901247151157753552305615740436633967265971286957642​46646215878360163067086325980734448666514816010566014653089938115128297026151496​25789000011631662404261452921334452788187087318593995771387586665680608384260098​99215120383552305655126509882376152470170176818912485459528465950306424873417850​40548400389543860606073653323544164865247883365373125622237872913825160970966569​55455963376453531852476072646708678096041998545491955714369424994656800859664850​41333275366439163964181817384144087122904702171671811366627344466114297022721460​72435177669171090192940732182030580688347546161453236113056147966252082547050674​41284928289847421758291079202315027307971337440071970029057449259125852802017497​75275529659052310589811498154514844974018721031547926271610941545674307597451972​35960553519149409027646569575500755912799420926608282934674826969238435914582009​78967670003733332332818412997394691615798031352021785110799378629451920473597225​85299970343499666890497046957395573467329944537185058574473407164413758796642286​20625278070650132553353243009437231961044982191139131499533933566246938109140798​87714704270224264816521818553439043234692047604864897673103524914722358162917660​09698820209246554318665164233969186522778337172058690685184187568747001341833403​59896706620419620276070761720028936433073526746729859941125147234243921299866657​08524717290645218444588155111650125228573900411162799261543406234116244477484056​21227767317261153631797557000335784444378492540897193794710005378987399160021811​15301308211619094130257932908885352613544835781699266103969238922385054094591948​79297205956424182443387449828525347671431681634456757578772385569873808177880898​21860913858708165840548814502903219336405428928708531902266722813524690102283421​09479156391264160049374063971383968317286943317633362796658514191232846691033278​810259586373545078

24114610173820658649610360154324310723115859462643973654442543604725011427766239​64023731116893575607015904063765513968661826052422333810260261919996429247265045​02691921869930472863697481158205080133317573018437772859904246572798188900040657​33175529397360751959117378244902077535322879130821609270162905276999910375037357​98381612148360868440123476150483760687117967672070443001903421658510938949895696​24187927101718725941006517060436539996221444270382422329684626458051435512588105​40042016176707764003304988717155189131097195323986604179161362089290520436020602​22760913813554790195367454888633480232416889451117217650961396257998257299775801​76578865457908032081442454656766070056669681424090893948384449255433628121739486​55790625817839743318210390697506348283115078966645700092466716980523050188754363​57018548848566053541726034995520631576555919262288293504412672715151157686434673​59868954829984863823927428968038584981297206535139522958104803418676857232541313​85832867955637775365340605791999127345648577847712373213860575067949884833269110​88317691972361176705083545773050255167324267323882759808754868394175891652524001​98888513126925581235350156875996081621512763704241411579832036502104133254395644​69890419409702750404123812124413011864361049316886387590106121357655239989354948​92095177594431849774271456531110222239344717085373085615122791473959937241599308​89606135438008503947812751743797451860006407930956855173599120739509345480043395​78206737853942600746486239940478219255004105983359815503034182728176064138258586​44813079424922462658138179437870559583683489697391033282991535542511003316593613​91763093765573258733222769564839904324047707034710507507276597183518693338752923​85510590632818846719594249045077633451938183633320958410396840347653094519887034​63172391330507144244768023666041286851462367552884958344702299481938380861923800​97800441802852576596660501299417449993835509285353809362962364695301888208378145​90710286310611398061426275153463281951271343098188380505402793062908581141250553​83690048623969627630864971463905150310511452067159515364879553289903957584732655​05367916495327239479157499887725957500586878394304392425787637048984020794902896​93782240934859059292648265252952851165932711130355374560748553931369724795296761​44319013253525350934205925335141233808950756336607191783763996948091145547572065​59648996788046882022572064665165458840043327561305413537422825790603397918026635​05605763326183894245121981315894284463188952671820803397836709931880443474202983​33047500691513323944915405969458617517140271917479137416847211297814420708161026​53273622007941559612046527029301822731218261795885513011418594929563502570836285​14453792412624590086029199637584026875739055768929276839328460220093793990556832​87855423489364646768747738947613025916939899973949224645633649816414053644991633​25017082330223153261448414473806388876832701887591090832858213613927852769508888​21115917846716020329

81204360147158948794178614427539393608397932565359152745641829495312942262647070​94824196142544714648074238770959659472948278829481823999012320038238435020026425​57058605308382185039077572648707077011637739889286808774624210007582632592249678​75059446767450110524044349098989932942062732023503311449068744887811382432669854​57956021961340885120511067253169066911099450886246633904653311891841448514046181​85554538825194604108830962364527731324071976578134931008537534511256133281917156​57539017069148755439898686239458207790540990495954768254467955913697233314546128​48638310791370355488762920147952683159890964080282514361715528841896971822437727​18074935379502179695745060662254639174238918321420990719461887836376962008726252​47738792673234205620596616965773557833883304260804495138851472845905712287309722​17751177517172866532644528390454878699222513101019664166150275061482041719568235​80550181831912586196592415306489936788391452137553618188417105259652543586109613​35631071259232844185525247125691400789925295753641473623399895438714799353168871​51063297555279495474786468564441340554423397564218055303855784935553687968364849​70222736932032596319382498454188224775903194896229525904383802458805264717389494​21213026861638111991585470905249005220017273994596682174160905835671972721836708​89666774789090248106643198748039549270794301906547155984578296412653757623354251​90743602926903675984215468968524482926465321620128727549527104767964816044205946​11544886298530108955462806152834378464861411567440214888776720020735186990453970​14838622127705079612205660811314218123635544686821088591618095938402798878029525​39917202459079809576089884804072722139009559317647743019180921805205518897469891​96312468182272857634619143964898677509721354115291038780538831936649064572921199​25150044709258999915055530015191820371326910375534326390594177985107890546455515​11452335999890243694986132185668052171792478167599698717011706119414150631699111​86998280911522698608970572288921566155088186863141126762048758557841792346380277​21723715631096750113804688958568831474188520468687866113476397542646433207920127​06699457467584145565573665988287353738842246961464236371062606546817723691085563​74283923959712226183165104012137188802416861345488468311234807103728783212733380​16325858834001111093274176242630058429869366478147617376714137359838756375576247​89785013942321481139528729262973635712842524639746617548392585738812446321992762​60241635707618310672189637371392170342685737533934146006773480229389808789900812​61818368482666022755916539436203720356165043104609267975367695056970102615042081​34222393554302872098345290840543897993462348346034677331819598432778700026437514​54856369552910132475051762294895019486630970867987030097845306196389072659122103​90590339485558653216602440819462696093291636519540177924099173642861771906237336​17706764083811384751229466627566141272322153155541960197724050364442179355120997​36114000503108334631

91057625924169544250874431005819082272226443228204227328195533847280579875010471​42018400905347573672776415030944734969075104782620724238804530759695514232714034​86611466895000826224655688344949801360618209031437040715955195105484729169616038​72221317792464337452029799843393187510982543207693690972107664296092398202261489​58682286950764545990549399927443302894437268887478355159128248985001447002745826​34542737914927943412388675888451421617393769512961134401749148968585015823248487​49744307711451251448194960040409218430629747191299539624496197178659132374620624​82587786978917326890373812514234990045840889562331276851260548864653128876986856​98321024976302601098096707725597003315049054120704299616675221725023271735703678​22786852680640220960150526550831828699254322784391104134860923600422703707287140​75392128989252098378470712181219679111772771928485170735268850217899703483257027​16554984973702217628679604714388536032254017645938978137744479471838519574280243​99000859308231366927301795128055921171057911332689156232887460618626410655322547​81767288092678219420421651789389600170539403882020417630135772921739915180138410​53196592025429425247347206411872131442891826197850028923355034534214837238370106​75647789854124593873059659777530822976146102465383848641067699020292008397228237​70772276365628161251455491076748086668627743558033328703317825914177206158910147​40949805001939380208099220755374687925186427657658034721109587568732146590505039​56684363426229835915357217463070226859471904019173051664562242114383125944028602​45986989864539883558853049023307908294259821937472749668926272238101268785511990​68339677121532157426717591349255206366895727144522145162984728328327426255693078​23089709343816314908425538812061102445262998269779717850453465469467011284654336​11291536745795154437194605087601574259362475055872980415759491252825367175852982​41858494185691153795429844216111875128997691174865311552381391259678686192540651​06781266138305933652230544981810306939609030733671117869791389602902207929079241​72816804022835166983668661917091772540944380006219191940358186955056239846623115​44163788184706018098016019429749317977842508279246255759683520679508928002505879​74860329987595636024726714703604629111885270232669982610504827291130681477306929​15621011887183837024653216655222838840296650836650741272359749229860551500344569​15034206228156897085777805141223900419289578718576740184596907217306250869660373​59285348010188426416299777518390364101687022427763416793292856371926926610595156​19376935134910849724597608382640992143519398458380162389473469092383673245751615​81391371206319663272424179303385464002370577283742078692342631249726553180837535​30196230837883426201808635451874587298089993741853448482021287968188790266481138​69328079411277751110779244649168070819737159908844423289417681766391207458167963​99864654328673985826155628411469080512485067766943507727130965131502837828227768​07253551887270559003933607367049787184256260453359931624582111100066469507216452​39825287860483422077456899946968488032144067687156174960050380440001893408798917​987241253845242023028512047183436583314357883764719634120602

10647159386845174809905759294552066366524655196630026834147925556793305730539371​47472302597017097483777994878792038111683701526077580625242411493506341717714586​05773033601907464911474330572141889228607562686268131516818555948747007907612194​94724111142637567861846373186657980661336144010897490343997713263886087994727615​88446161252979142148541915772577576168115035469301574712654293957122885480725406​47249289016374400574554793278822908553602642310120329103438467135369587697204259​73177840131904228006908940767722198458179528878669934590329409547566481690725463​21459451725363586186869026947085070607836921422800854909892781820747770005726116​50582146470979216447657966289262960430557826028914338996010817464966195688660259​66714005413320981191013623667997616247167751813125590120077292682036498592259427​79432007133754970603843752042415530408558405715840741985352781222633392505377605​00227483794184896215773204928303967146700457601781991454543191404408611173482921​43600703115254658680643291936980355638223734715994105922005974364010244880361831​15976799210884915411720108437573174371949552819625829068082803384983587673947980​69554296188638072402813743383752019263161823378052758562148065973869163248107838​34771318498286407451598776543075822121579614089358790410911864757261118684913025​08679642838883579769605783942569851950691389954833636429178117997603445463648061​90458231422105107818085654282128094187595729021933520874694208356531623290758289​19075762626917316924891557548071579726830108295116423252954952846171024774185367​82742846499017434388154821066280957001423682631724783089738303879784000672839915​63827068825035384999161288157243115188215704748979181138213294386328110311994697​97628222922914536441940824990678942413338544906187126508308348516946189470901633​76665104985537888346288697641825218003514567009148830822013688752333420064970769​45516227129708519993260679325887179640775416450105649581882608870813714690809287​80585539308161431083698207660723617802976955165343924919741513204173534272260288​94938607946587182881289941466101047297436020766293627768937905924242629091561203​12750077510809142524738209285762178160555308804703095931324025365355532454345122​67584667180795505561298175707024680892698209380713781326101214107209906860106128​52282467221837342761929632771306248804467156803609445990898420486516654254491523​27978089991863256905428675169026212011659751709694067654917010539052783917327119​58861085913828754779333250289909127185408789166576533031234904977247146764588059​31675377578537521922795899776238003840129852956280032232167843869258508121572638​42474889243714208039686787709533299577176418455726276257471352420019259247622859​33472541430858078096050431058300699980427872992634413832642491458187734154570240​63948439596990956525719303820095571548930124421505919831580748931453406355113536​57670916644111391953768470855555312340616297186059776138097328556852732794923221​12244435675918642684130608172769414277479193401730636582721887504272598950133344​0194184409204475060261512178655767046312

24628646014167658122278746277636156141919088558104704219030987751963718834324365​12328775562491516934396897013586418294793021027142350222245625288310372253956741​32514937685199727115705094793324552679829991441480224196473415513754408707384421​49914508488237678741257665511289196256635905970936702465604599578850489734465227​30074681171150521337768681898754334732138833736922563673753135345209125004935874​32314714385474262342520907351675439074211418813867421646958257790031591662934641​50153679811419553821594698840579821259220904461474731859501404719195284124893234​66741344476325397246784619573209208840267984282192956833228864193721550850999412​76170262916612913481422910493749471028548592110212144466381742049633098851981307​77979224693282414232385316089120480760850131164709657867591920208766142546982165​79128741843894622867054575697881220974451554683993059809580035181882267776244670​64972981596169980853530196849062379932478083422782538979843122786839468656228652​90666403146558171169482537285837433279123576253849526688936438940858736358355639​59912500154876868907410138613706038690823368796521441278867956868489290328483347​47722012218358461703266605584575333645004974759560072054253992909496911861398581​00077672427726847744071462153475253586494982701185403810759548081608493654278258​99592101898818474760797529559762708034352688063128314370400538936718650480752229​58484383869634277953109979721786352551544171012028723179691505349055456009260148​25156090829195462756643381623006123691652962118418253682832750517724206854580814​20218949913029489044577377913400417109420333989602667776265315063683322394231318​28830794561556910065918631799229237280602897489120033127188262339864964268287067​36076391375877938685214405745138009694682857183556033928425964271011658568230461​86075644300110025034782656059402283259989306926397330072209232171192227145720616​88251727104258131266814526065543277449814947772343754834504693868202465168279437​53781923308224149556443132550726241506562845956780897104545680370319515666455644​97142193129788140636030815264188810463597890863133683088091948029131342597140135​64580521776277296885796398858532917375961764090656968929077921526714839505107615​76165631135817746459048353988980156815378878185521513479318398639767580378094548​22979385621497856756260368129926087275925712133355056898054965216805530011599757​91018598499955488257656981585992135639099228632423062821479680600255395302668189​85351157345484021743835788980764089922097732534867144333780709382876217474186465​51866428157607982590108052435056684953614063586913828421195015184120909844228694​19537866053857727446592165561161152892947792867244740878810292087528825261378635​01323404867885423186754708696945372837596061881199737186281611436919508274669138​17248231990052457845320293693034167007292729636161351953002582871072332792687749​46624069174711312318316658838549035850874848056362326345309861327097347093713475​12034320896636308473050221057270041130072130409633836773255125705932677188581992​9041994639185462381676844837570380674636

25807369238264795497339345972674009344148333329205125123240184242013637933875156​40598069024366816003186978933277351979760146162724360569011516418499973790666472​15841712676409882334735324193116562145748681418322120279462005728528014107151687​40268506601434731322617264264850843959837680413337180258691496088066829233953022​40174963545282646149153407258447542797078763113477973919040361695384046413475508​86870259376117367761550059059778449178999654088991387932947241657075528462524599​51353678964801663187304987196430231552505819709675177064321201248667336947476454​61371624749829947307491792133983806129941781908339696186009063153803549059494842​99381214907771744489452863347688348175619717218657329198370144917222002552620794​78145836305389417825768615700444806263028081404600151224871212764672532845463099​27348039991739362924758367998509022547215396653304689150938700251960481592214308​58660206587640175942331621524644938921182579498262746254832916104262494193883805​91887156987645529957356636944960333272463376412340087622571235418417734757862786​71725386559744258079086351453494281200713290561687112038486266638563608644073076​19444838209264567299296174509788534355027909672635062859242103312396947079513341​01254171612762398035232961850838952289618344613186812181240845568171382945372292​03352484749596964829282521819453217993692515277035224618649198136897128131042940​00178062850079892375139254624819362009307491088910138903680115133827482175724609​26398845344492521523788180378022971294858785481519620800048657913410350785308042​56038231889790799109046806974786941054120263581776497701831871369376999781131041​41354435155221581301948719246365247366184823456336305041217727693712990102454549​37274138925274022987514304439236693897861940508957467544931161796928564926776630​17345924079041737251942901059196359205519230054065620316451664731274078432410341​75475449194334980773844415207799328716900667749665445568592016762348491866595764​54945263617348494470456531282338056260972491476798129984885787715778425765928325​18812471768960440792533369114865307679547729256451043320815414179192192271891085​22731638767774532956572709652316183010552178067196336307066745136795865085002152​77384183373841486024003452659423272918513837734222962887168795103982798777504467​04839661137573176819624513559615890197015644029618046148231042556988606157069486​22466923480987879674686496588762514552649817390080055559446880147478322643644506​86536326501781160581963187699457185425215392112268551056414106865862314773632924​68426702596380612659487235825737759899934989814134578768709762224200233346518326​19452713704411997317152347588479162322885045649300292777809713404029851371910875​02563029710151395828927407344413825230896024548890212732400771883809258673161641​72762690279048937900781243890034022816232659453359821209134811011158762878487472​28960006738887775459346771350973045918183313023539691587397895730064373960497012​13230997041633487923859292073383186533255303278239799763510822236303748287020769​4105923645840864397607771973549754936684
}
Find all posts by this user
Quote this message in a reply
02-05-2018, 08:31 PM
Post: #9
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Juan14 - What is the first symbol in line 7 of your programme?
Find all posts by this user
Quote this message in a reply
02-07-2018, 05:31 PM
Post: #10
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Meanwhile here's my 50g programme which gives correct but perhaps not minimal answers to the problem.

The size of the returned partitions is again log2(SIZE(N)), as for Juan14's programme, but integers up to 40,000 digits have been processed correctly.

Size: 557.5 Bytes

CkSum: # 6711h

Code:
« 0 SWAP
  WHILE SWAP 1 + SWAP DUPDUP →STR DUPDUP SREV SAME
    IF
    THEN DROP 0.
    ELSE DUP SIZE 2. IDIV2 DUP 4 ROLLD + 1 SWAP SUB DUP OBJ→ 10 ROT SIZE 1. - R→I ^ OVER SAME
      IF
      THEN SWAP
        IF
        THEN 0.
        ELSE 10 * 1.
        END SWAP
      END 1 - →STR DUP SREV ROT
      IF
      THEN TAIL
      END + DUP OBJ SWAP DUP SIZE 2. IDIV2 DUP UNROT
      IF
      THEN 1. + SUB DUP TAIL SWAP HEAD OBJ→ 1 + SWAP +
      ELSE SUB 1 SWAP +
      END OBJ→ 1 + DUP 2. <
      IF
      THEN 0
      ELSE →STR DUP HEAD "1" SAME OVER 2. 2. SUB "0" SAME NOT AND
        IF
        THEN TAIL DUP SREV
        ELSE DUP TAIL SWAP HEAD OBJ→ 1 - DUP NOT
          IF
          THEN DROP TAIL 9
          END SWAP + DUP SREV TAIL
        END + OBJ→
      END ROT OVER >
      IF
      THEN NIP
      ELSE DROP
      END DUP2 SAME NOT
    END
  REPEAT DUP 4. ROLLD -
  END DROP SWAP DUPDUP 2. + ROLLD →LIST SWAP →TAG
»
Find all posts by this user
Quote this message in a reply
02-08-2018, 12:17 PM
Post: #11
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Here a smaller & faster version of the programme, produces the same elements of partitions:

Size: 469.5 Bytes

CkSum: # 44E7h

Code:
« 0 SWAP
  WHILE SWAP 1 + SWAP DUPDUP →STR DUPDUP SREV SAME
    IF
    THEN DROP
    ELSE DUP SIZE 2. IDIV2 DUP 4 ROLLD + 1. SWAP SUB DUP SREV ROT 1 SAME
      IF
      THEN TAIL
      END + OBJ→ DUP UNROT <
      IF
      THEN →STR DUP SIZE 2. IDIV2 DUP UNROT
        IF
        THEN 1. + SUB DUP TAIL SWAP HEAD OBJ→ 1 + SWAP +
        ELSE SUB 1 SWAP +
        END OBJ→ 1 - DUP 2. <
        IF
        THEN 0
        ELSE DUP →STR DUP HEAD "1" SAME OVER 2. 2. SUB "0" SAME NOT AND
          IF
          THEN TAIL DUP SREV
          ELSE DUP TAIL SWAP HEAD OBJ→ 1 - DUP NOT
            IF
            THEN DROP TAIL 9
            END SWAP + DUP SREV TAIL
          END + OBJ→
        END NIP
      END
    END DUP2 SAME NOT
  REPEAT DUP 4. ROLLD -
  END DROP SWAP DUPDUP 2. + ROLLD →LIST SWAP →TAG
»
Find all posts by this user
Quote this message in a reply
02-09-2018, 05:43 AM
Post: #12
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
A further rationalisation of the programme, shorter & faster:

Size: 431. Bytes

CkSum: # 8EABh

Code:
« 0 SWAP
  WHILE SWAP 1 + SWAP DUPDUP →STR DUPDUP SREV SAME
    IF
    THEN DROP 0.
    ELSE 1. OVER SIZE 2. / DUP 5. ROLLD DUP FP 4. ROLLD SUB DUP SREV ROT
      IF
      THEN TAIL
      END + OBJ→ DUP UNROT <
      IF
      THEN →STR SWAP DUP FP DUP UNROT
        IF
        THEN SUB DUP TAIL SWAP HEAD OBJ→ 1 +
        ELSE SUB 1
        END SWAP + OBJ→ 1 - DUP →STR DUP HEAD "1" SAME OVER 2. 2. SUB "0" SAME NOT AND
        IF
        THEN TAIL DUP SREV
        ELSE DUP TAIL SWAP HEAD OBJ→ 1 - DUP NOT
          IF
          THEN DROP TAIL 9
          END SWAP + DUP SREV TAIL
        END + OBJ→
      END NIP DUP2 -
    END
  REPEAT DUP 4. ROLLD -
  END DROP SWAP DUPDUP 2. + ROLLD →LIST SWAP →TAG
»
Find all posts by this user
Quote this message in a reply
02-10-2018, 12:47 AM
Post: #13
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
(02-05-2018 08:31 PM)Gerald H Wrote:  Juan14 - What is the first symbol in line 7 of your programme?

That symbol should be “≠”, sorry, something went wrong in the copy-paste process, it also returns zero when it finds a polindromic number. The program should have a size of 214.5 bytes and check-sum # FB55h. I tried to make it shorter but I couldn't. I don't dare to check those gigantic numbers you got.
Find all posts by this user
Quote this message in a reply
02-10-2018, 06:12 AM
Post: #14
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Hello Juan14!

For even powers of 10 the programme works economically, eg for input

100

the programme returns

99
1

but for odd powers , eg input

1000

the programme returns

99
898
3

which is a correct partition but slightly extravagant.

Are you planning to improve your programme?
Find all posts by this user
Quote this message in a reply
02-10-2018, 06:16 AM
Post: #15
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
A much reduced version of my programme & faster:

Size: 300.5 Bytes

CkSum: # 933Ch

Code:
« 0 SWAP
  WHILE SWAP 1 + SWAP DUPDUP →STR DUPDUP SREV SAME
    IF
    THEN DROP 0.
    ELSE DUP SREV OBJ→ 1 ==
      IF
      THEN DROP 1 - DUP
      ELSE 1. OVER SIZE 2. / DUP 5. ROLLD DUP FP 4. ROLLD SUB DUP SREV ROT
        IF
        THEN TAIL
        END + OBJ→ DUP UNROT <
        IF
        THEN DROP OVER →STR 1. PICK3 SUB OBJ→ 1 - →STR DUP SREV PICK3 FP
          IF
          THEN TAIL
          END + OBJ→
        END
      END NIP DUP2 -
    END
  REPEAT DUP 4. ROLLD -
  END DROP SWAP DUPDUP 2. + ROLLD →LIST SWAP →TAG
»
Find all posts by this user
Quote this message in a reply
02-10-2018, 08:06 PM
Post: #16
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Hello, Gerald H, I modified the program, now it checks if the integer is a power of 10 at the beginning of the REPEAT portion of the program, with an IFTE command, the program is now 201 bytes long and the check-sum is # 480h

«
WHILE DUP 9 >
REPEAT
DUP →STR SIZE OVER 1 - →STR SIZE ==
« DUP →STR DUPDUP SIZE 2 / SWAP 1 PICK3 SUB
DUPDUP 1 5 PICK FLOOR SUB SREV +
4 ROLL OVER <
{ DROP OBJ→ 1 - →STR DUP 1 4 ROLL FLOOR SUB SREV + }
{ NIP NIP } IFTE
OBJ→ SWAP OVER - »
{ 1 - 1 } IFTE
END
»
Find all posts by this user
Quote this message in a reply
02-10-2018, 09:00 PM
Post: #17
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Very nice programme again, powers of ten now partitioned with 2 elements rather than 3.

The IFTE construction reduces the size of the programme but makes it slower than using IF THEN ELSE END.

The programme still fails for larger, eg 6000 digit, numbers. I think the problem is in the part I have put in bold red below - I believe the comparison should be between the two numbers contained in the character strings rather than the character strings themselves.


«
WHILE DUP 9 >
REPEAT
DUP →STR SIZE OVER 1 - →STR SIZE ==
« DUP →STR DUPDUP SIZE 2 / SWAP 1 PICK3 SUB
DUPDUP 1 5 PICK FLOOR SUB SREV +
4 ROLL OVER <
{ DROP OBJ→ 1 - →STR DUP 1 4 ROLL FLOOR SUB SREV + }
{ NIP NIP } IFTE
OBJ→ SWAP OVER - »
{ 1 - 1 } IFTE
END
»
Find all posts by this user
Quote this message in a reply
02-10-2018, 09:08 PM
Post: #18
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
For example

"11" "2" <

returns

1.

.
Find all posts by this user
Quote this message in a reply
02-13-2018, 06:31 PM
Post: #19
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
(02-10-2018 06:16 AM)Gerald H Wrote:  A much reduced version of my programme & faster:

Size: 300.5 Bytes

CkSum: # 933Ch

Code:
« 0 SWAP
  WHILE SWAP 1 + SWAP DUPDUP →STR DUPDUP SREV SAME
    IF
    THEN DROP 0.
    ELSE DUP SREV OBJ→ 1 ==
      IF
      THEN DROP 1 - DUP
      ELSE 1. OVER SIZE 2. / DUP 5. ROLLD DUP FP 4. ROLLD SUB DUP SREV ROT
        IF
        THEN TAIL
        END + OBJ→ DUP UNROT <
        IF
        THEN DROP OVER →STR 1. PICK3 SUB OBJ→ 1 - →STR DUP SREV PICK3 FP
          IF
          THEN TAIL
          END + OBJ→
        END
      END NIP DUP2 -
    END
  REPEAT DUP 4. ROLLD -
  END DROP SWAP DUPDUP 2. + ROLLD →LIST SWAP →TAG
»

The version in post #12 is actually faster on my physical calculator and emulator. A neat program though, and surprisingly fast- less than 8 seconds for 32000-digit numbers on the physical calc!

John
Find all posts by this user
Quote this message in a reply
02-13-2018, 08:05 PM
Post: #20
RE: HP 50g: Programming Problem: Integer Partition in Palindromic Integers
Yes, you're right, P431 is faster than P300.5.

Would be pleased to read of improvements to the programme, I'm sure there are many possibilities.
Find all posts by this user
Quote this message in a reply
Post Reply 




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