2016年9月4日日曜日

160904(3)

Ruby


A generalization of Dana Scott's sequence(2)

前とは別の一般化をしてみた。

def A(m, n)
  a = Array.new(4, 1)
  ary = [1]
  while ary.size < n + 1
    i = a[1] * a[3] + a[2] ** m
    break if i % a[0] > 0
    a = *a[1..-1], i / a[0]
    ary << a[0]
  end
  ary
end

n = 15
(0..7).each{|i| p [i, A(i, n)]}

出力結果
[0, [1, 1, 1, 1, 2, 3, 4, 9, 14, 19, 43, 67, 91, 206, 321, 436]]
[1, [1, 1, 1, 1, 2, 3, 5, 13, 22, 41, 111, 191, 361, 982, 1693, 3205]]
[2, [1, 1, 1, 1, 2, 3, 7, 23, 59, 314, 1529, 8209, 83313, 620297, 7869898, 126742987]]
[3, [1, 1, 1, 1, 2, 3, 11, 49, 739, 41926, 36876163, 1504578225617, 67856786028033600651, 81238311359334144709516343054051, 8472940010945536421401513734595877223414710434640386, 356342719455501014965525933507810961154502928933770839954283399616194368420340104961]]
[4, [1, 1, 1, 1, 2, 3, 19, 119, 65339, 67258454, 959259994615659593, 171965197021698738644442682357, 12959040525296547835480490169418622922155526267774117749963303914461, 13002155809155454693445261924537731852173830380093507167011278151655802432083856288517653948277707791285132881, 29400523205612366107661002554337110643721041759414946608515448389060941813247878464878473439234370680824532331236610288800098568671767212877537207573869465586460220343683206513464070257487789507650267414634044677459465649664976609794888630168043920806, 166196128396556922555899890672338321380534576774435051327037692878096005394631694768782308023612125085309564596624729352466151824283077070922623219055586733813876777561856375854938714493491351042021073886400413284004094914487033915599886441880275759461887287306986165428867952288409212751752662721141988978946890440543741234976543897251592566287866770705851186535438538629125586598681867436841180692335311091]]
[5, [1, 1, 1, 1, 2, 3, 35, 313, 26261407, 1001689887346, 356879751557595054813966522072161803, 3221974575788016845202611315068840860244866942009716269469, 220440582040369036916185449332621560426118324976027979809456433292164687349906793512780771298704684702949036043042770626334411128890815722075405977265205105522835656640731, 346638866838896819127952989549289053182170576355992754417491914222528719453954543043906674857716621289650809767744831870162782770943990042780704899654891615726352339671611131233855088860740386421232017540117240700273151063313011107033014133100380078872236415161941674931973027, 1458598750944912333572324981891122710409675841797185602322002117350505180081635442004734686760556445360903938523016747868890194046423574280014580570619831094087570397442350111020806955090111860942276362772079030462200410075991991083928212080196958733599054765263194210454135335553430534601131488447127689242869794986150738631188798681140930952058677181010805436899871361830065543297330106983858773784152339990078261951767970788252577473761088900303739403924458163186683639576369853371157460535393058232836502423824541767653154375463239922342927676634020105474266948951839333979654557191040093176105569545533291125317508935074984660300204869159280882502727050511275317832945922302745477864467457417348543090192721162032190322917847907484573160327607552121697270755033999126848990441748771781388020726125919815715145638, 1553331582571901059742820400301495776221273820311671687346779612632413318195141079710933666968120448493790349516276897199015500805785647549822893598487359442126538822695634936135435941331366359401056873726430073230771122792348566160532939733304989133052011184364663388867003377536884321271491469019485285660121345406948212337554192882204242158747788310961364643273253397697015067401405760010615632096388327827180207395885479799144049995863958414632519049205935353857247871736978853865739754067931807880142774353240724358006120185836319021302930283377397949718404779458080562509731494285622270638615820916027795542036321571272965594489579308119921706287059679794121005935702754283535047015852434753547270883398696333115857853455661092259816991251347026787018591101275339001135568098092838638072905790506808359142364963137775649199089115489164867997830065634595652333026367702829521831743289564490780220384689120247994951382938914779518374093499131476901633196622603851124906262538653370600726647494721953095864754285093013651915858575453756389354537771663008691463903576311160460429569842011880539734259758801929200502678996687748751342628273555629571942797481104306407460795944614345787596422966502746846630279657124730192260592500755722922401700418966727343738664352056818823125859412322430052735505706661757412476994265]]
[6, [1, 1, 1, 1, 2, 3, 67, 863, 45229192379, 137704047426799334, 127772736198746335804079836082474464221836557932990728080773089, 7900770309508995071687598423487153335856893480509233473951472671773030001497008306243500805487545669, 96207811984419848434465196538178559312699757432314736653007204725525498615455574857264471726240989381618425908554249557601757931217763515995653740643830282409568468696743959310518070748076470007499259389481270357827684362009647024837268088141075128154215955270158780788907519736609271316125611450439275929641170452771185230278151999709271419114421394884288269133, 1766322137126313791987381375779018445672750436646051499282928077099151816976947280457642971831703161139713635040899801715862705661242292182854388255978843239721376740036101021222414767399547455770092996590366277953062164954333081248238470822678275580113921142297837376859591092979226525423192452430559849410432079014529001674398140457593208289611537683954472217243652004867327034336377082362666554684801023298328103798708267384171594147632539448408506856234248169224925584564232634446135388383239298681424488319116867200859632172807500068127461262329598005930471421712734066780193977, 6206172341921198063323208265228778255979183246784946921248451339357873160839287272174865137726336170019263197093633653684297645342917652632606569382355573408558190469152651222774141904852940975136722565508196884275025286930394425859763057442494182532826317490137124687265596256902491227274174945710779634888977920799498982010872521184229973112588032364880117195299710745529775198465207434801161231202124395125830588550419168418470814312484718071881468136333774852177970414468220022430616921220760719187413841565395874473592348113338065695654933767077497975351683429235842850020493102344355931165785899003873299782938199727959699734786509666899794700317514291580604128092258932568820275539401976594427998154917792824718261151309953424934655538219251036541196834636057525923041447807434353670862498275414190476416032161410241197880598591696740987156803122343476724413575339717858145609274813048791647452407631788420987013052052571544475370125880622931273220322248318571416546210446454557483136788443005783090941222114901254893631558747995575399783951601526866373889981398536454458041107069947624935630619870024835861164003325034624591903952846561716475719893627791542692114447002819175210642468562116941201565179331944251012600881448101930896733687552881973198907395892383779808057246297533998116520197803088117604172024272610251109301335328643286764309531063382447279671073080089942943533013144395301918567395845643844532911643603161701037257845943910092165974204098984760321635156687146928713911333014388424456072215056820391162199427054407139020893312155008204058750076681435958066319978924119977929830183512437703409040029974636056718854111227690276239245023891556709267419252277457618032083086171073404769811838463715796339072878508856349969303401858006013973229623119221941220132295012935894158548806897187613154901043010210705378847007327161148626490905772399297049901218000919719421285338841525185324547606348934982662183462519896835648117191902149125629872491620215327360666247337269194015385585241780623918721545491521263513897888625201369410925654299143018360151335826551656989146226778413996249326038, 3843704882633914034173118730555813552615333304305746358423869148404326003163246536427882936814726948586578087421833719666541238109399477861427596779577717459845942050312927894015366762294148447019756919174339950900836719176284910791448339461421805674381497669591135805402855995168100785685876530787189641292547615586150225586299510979464530867495329703811350534400069720444104829816136239669270781129347472173585154705035080661535003680174654038813239147255628425488166804263167069215267271361069782440463936961232963637713942831953341697161654872928126625919413742253237822420396641174212092912897109860205192598403701051701078113728892988393445406374398564214044285519510633900160599180696311556244134384787353655309003468286418565074766315577043872926621981230313825980235852426966869640266807165876739036599176597466465416101548214021264172961187476967768114287022342621906878440221309955244341034897193221645573218813400796725704435104620778199490862921887370798878842238849475925630814123582989066416706946316882438881878154432139969359885722802483486848806253284974309425941317190960373418772257464480480248672223248093735775741755608894171723866168436662705803594505301344300699855256057917248588894999855148794553217145573327146281758022822368181595725624833640407835309553294805414656380951761565990578265504503687511446677906895036969852768898472183315701633745903999672580079403329506843969928816003096766726331073725296791197284716898474998962437843433586576055543726202088735852660641622694684022824671464571369971985021312163262822157896607855377765814143261087957430227249523875455529509503022369299442914191203544602720220520716791110805448329998744957697388829099268210176218090394981386301040584912653186750150419657728619597188784576622525967223694716538567858877961967964711871177973661092839585170166585423299917029965635298136987557298606028212466798161341997154276123016903978035610497984553272823813390710475062432851673958126062648718116073933705852324801909787158555326498516526689103882948234780093729493724074714079424095216168998892703040439276659823695018165971417826544232865790264846756927475034993215971931559546602437932896644353418655979110532333912089544802257780933493804138168410726559963790054565679548877640009450471942381735548564964619947624454799628474625374692128258531909445965793788474718566517875409869279487118477378044637629479587758090754047271058518886462509943832360190616678712624440058391565597925578496558290705248283593710112424280743675793879748942456338416811241166225862418958088615507758456482521498124161085535348271280315663881866776762131900134711250371453304345029189285504657545048460286506537785618813066331963857090878133181634049679294323868728147906037650766272979356725208280713030879916854062533416031549110466157509188711163853191416910101833885155966395596919200850126503831567488438141257005851042871152634299997172027083211133374153920935623649930731178126230363313161274626731012404279312198073176353637321537822073626123800541535481067711717525840342044578165846474428741640674832959393395068060708786570899265087602146468768466555459012302489286659201451946469864519954919216469671385139634436477081043220052417723450965852800941713723400243803918660550168403508383451581202876492596947084052043933497577487174135260353679212173029137185607773184220419298504159977106065610732989713545723340505027865797538481952547]]
[7, [1, 1, 1, 1, 2, 3, 131, 2449, 331031310954079, 176116593574686514024666, 3325157506636323856238853021029893256716248880184368268505553793550581378156071428315346547177546803, 2145918147329102955986291632358938672444415223632327877055440763383420365179491213470464163378237121716528996508003832934569812265593136240991815087965655868957, 13577395819728575966896253476571705836324557599079932980214753835745900944870156790027922404693270038393417497384964535333087716438114364301281177153966936405076777949472833094523181913640387599644712716890672694051347967608823212535506196799335318499532687469661417107905746849151899503521563390736688712999404853016555184397653270032772719067524898005337032797202632577619009388016277284601004424776997827019860256694506981588371408928316196793383619406648404169199386192822234067438272509927500444057480980669911976235750465755595473454809507901011026942509517485605191609037374652609783976884579088503964548140602547901558162210215430914126043917861955546044577458779838441280531, 1189848837053118390007666624794575592489525073717246173394775247327446389290626408714064416991639693051227006060525977126099066241156879324234889602908974073048905937065098284984145002362989532906084763905282315244035279248498595205441874685005886375042650659749895506128625470221075286971804291687951022421599287177060697707222555103285219733792426666332261566034329587036518717709829239458442188219625812114960753755090215556208902263222504943544381239095328829706368628489603861580578520012503131160602475750212601246114887729222467659863171336801404627142912121571828166446949970538295773388356027517525158187626300116288898379697359318162527977340205683584624225211059414099179767008713577971654423761683515691377438569762991391346376061445608432887146640857395150082790662142128968458843334395883194608996482517666248879482488058812150032190153539658756483968847880639618667543603941846128588613339134601500061818932302108759895215858310474833186594364708404317331685122872162935977862758546844273567191128821924218360249192270323945793178261035745302425689185174944725647993788966654571, 25580152654361159109342423403525847770503170976626714942558460859459938056177744803380121162157399222893442974419789941899906127905613233590626829588017313020373444225166036782624171971938367744634542675157849185183997753252505447786339830220468019696716667086018724163349154982883947176425904202784837775713970908310445094482895507062293513879273674655930666149584609619374731011460434354666310887598417781848872319692885826913276204076615668892731265509269939640729145258561842873958221947476043912950658597989132663169384618303552458751384242676910595130235141226447490241901302538409825197275624358843931227331210063687207739137341370684330612422940488163377190198206438144430142107481918255542011615260629744248966324546401911971588641424234837842815189015674445731170538544770108635197223596349099802982272500566065283112008323936168719226983926244652536717704061398541309811695941814590139556247027584145682495185610081288854982756768009869787345190830188006573989044762482343863774644134005861426553323192803697634053001748378420049633744438714236162896964350983882364236271546729666684742096852728839308722952359841334990415830212376934409102074799078277071527275127992732244746557093225840982877495367296270036951367597646906870095493361303497153471330704883386243523059423986818931330956350831726248854103643544107934371764726686575200636590279056509084845266340587600656353575276040981280006520392353283481986555032051019040703407009399364649134700297596977640349159663647307895758139010077374537236833323713100268356004526405474577239681442381796571924715106342764574077460165412710690701419445167582233058493984784742284636047929869118178818115139900341330749372570039966489991903950803374832303387634468559870750759694963834120921410728237788471621314236659350333905042193567614289734680086893918002707630162158368509964493906520074769385374815585679610970484955282532116337400910480626759567754117698957657160335453355012091637540736484596119954545349396027911725009258788259804402038894566066291904111679627223921150722061211491206801375027425358436436521874881051833276662916081057587996899885959100850432848389989138715204868629929706893617030530607532727273788938778768966388080686197541428350969803281855689148381358105715100325128086503625671080662224996418280972407804313784448157913294657963959965998627064620896614628521109871907342459541093242816229673289821180617802441932332245368717652352743195375254227368322276489596597920639966908973652252054446862535031950679583711966288817602996280307812173825920429381101622290131982536860471645001644511025209644209233464458660086013059479113839332940777850204874701500980271893933232440285971612056647492491390058137084095600238014036807390229456352090945143641125673970114146387667046477919889354221277149212304278443624549826383393520255603388272014531659010640317412725658282293518904496706013067224160634248633445944024557559332286508206150739162627912862485777456942477942545666515553811027542305571103886619903017563567007485006817455640350177604857014584573964779617512312008462862021197536168505453886429087921620787367913646365362375487139019346019565767280455036124065192941993743782376856608830460084190834673260140785793389569322094874624994557054421578683770587129983770483348348039740686430252243916740803950041467823578181762573209139399246100346677871814297106036442016618548104900511631777063348530671974877310783281321002767686178084134497799593233702689975275982209425772139670233447020026330785212798944459801002179610628985943786837892965329872995038608377776909604292712804133759675433044576764347377588281084727844682896760487547089501072210832913115558252709613397578156615420595445278845569509027384450568442957698861888411267325133866943385061226718235108130144380074431943030317646341969431778995322045685292809417817375390858870082650333665002204458649573904166951860115292238211966664732861237187483261762054825699602677243511482672874635621746953088180931819479306039336492248517234114064354103066492510916173640534942474132265267487345053443928054457882938831559197766512309634583246402674002841995854004677973923506514640722863741476354071987916730993004502147989702712888113962775680945020665186365797092584522702253818783688471708934179533091095808587085500688852557586686071610886985199724104824075762281626881822414210225214650328765723275238583345700186888258320715236784372191572169191136794984712046243278526918888075496442667115877799764162688747280808712240859590994243257933507620193134017870509706922075948746010764105221003776349304622999158274202641760338675867771617737021942773503349041766733305631977382490645855040866065156942337378248053572712994260345086, 1573364622743265117476158333692087158261029307723665054283618799456710733913135838773511379943462524020132742732275600646631056286729540507531717567892197387701055776582215095593353796548383251712135185245381070488333052075161605440798842733548637002382424929012300218885042720274353703522389440763797001837579606538577658897946658556488699932510324885863648990518757632205453710844216255947732667722054675154279491918012744661898453394741903781649474475396132027950859183850048594182366445988565667262419259752835891935788756426394557213043413772976058381439664583373560749560708373325170191549520165878218430975496599115524519569606438551357343199757786594525321092961858697963694083025481267784530554703143421272157782465677890630462284078158030100126163266957222796683575402210517661447066290944451137991505221606252248545153059448412517566775323201464498201337372885824516864993661990932633545491717917849892192433524382229033169501161843101468920154387658604236233755089663451968467798229319469053140919104409937349530396247940152257582478925876816357070517395588472325803819945351601545605045894737910002565905055382648384775881486269919660765194376185521936089925122123809000866321609546211784347265445339853863358515425886366706601052120613546444928514713047109439757736961576100791369715890007784624203457685030775864747282001938172334157145602475534500671335403598051056800380216597802443426341874008089424783785439871765362851305162321082938230938650416900719579762521506713615039409037129745098662937876537782264535674458426165886760367387437685737017249092155006000668114233754438069247329617011799423601190150934708995078962348425919732596587821036552350881059626914884193790082576543501923933006026041009931338722885717569712220268705435797833737771245525064234284927662385753578201058549702516830346158856594772121776888202755084992108481436251243026003718998450464256337695683779764617213516939875425349877469301165163635815391804443151246343379256490481140259866139308139421130653410251082937497886785513345431862207616749694073652659952075808943920563654910923766624271452329077188992525552843556938964124184039859691109151260854774928716745634351228047992347802721097304403199737219831634034567967684456456130149470001232222114781228301102507100367414792844231975175995754850139528508309892067714025084682004182226524901045638041683523229967179902966847438446329761672812598747711738057676097967471213011894199508090912196412702572286695942790641477529071675699101705867942680597967625174668809847895901209640118056602061524105537959564466943226438974066337218316163625971770281596555825481550572092948627698871798721092644216086353315036259897516701720848799183855884290796149246890183333409696052647197630300110017143468067293737058229675712992526669282896142839859943110958669489534507058561223497772761296995833780003381691648441023551918809796256318770317682860565559167103895929412266952758846109493662239785582314206270986604788699368849945896932318332445103206038348797735211092515745310173166573197945644651166864943774585445094262008125216790679383390808321228709088649633464159895220860775588432695379757130194547858542564594633000950765040798587614553589472226108700506662355472778851133508159898022782354985897197841181318088017717246309227442971492474475906968421411643009417271775002577725216829559108705958702895287480348785550805204776820909844825489314595070546090299727338575550377588401817182810609416504055061350647671016850689047876654688277677144517441965168011245305209280228546919387684577766575193107926132605476557037999340650837003292444218397751931672374639663601655406832083146574717189218362627801341524302168571607812023024418118162950426542783613315416002743285398159715978995749392292311982091313987082151141129323575880925640379398390173061722676082728425595746051069605879650967744659149443256638074232843856683929360780818607997030920375699056778095387390331730002439164190256891393762096764590694347253515513901507743652193991671853552888832724571539361124770164501032403024181196278643933868975095499001459149732408149497928164957694096245656102622353881154288798097527577738439413077483388695355702343911817557004002364040464961564231477677233688042992600963655163466957985629153277838940095789218015356658018087965829528723732881673975310944107008059191353786365897755003820708183966367509383270326265769760185462539284906944035344339932739833199999719631517722275380021176267769001657264416125754105254022879168543803743332489441367701420250280581932047471638406067078432103775050468747331724917271232082028684513590347794830445242448271359412309810028328009215823298558650658306131768989141880827770705387071401297973295115169561142685008937538444178175323322371060939169367006513994552900307665711088001657434336501330862754729415621146530832622666168455304115713522121622190883201265250984499233420455216749607863562938373558343375400216267560953267862139460612003969306698368109352589490357313148121711800980553838212904471745833607445038242790777713989649583355776638479687779260917934284878517878575586649125339994610786792384763924396460918089007446543649672920368181681509404782965351915410355170215961391529225246305933881320646475624923595681542503267316681086174707127085829397209986559378094051059849296833593166214005429537430636929602753878708309584422034737400225108622643480918637629539527170504419726492007943259533806680286078532000448783116736629720971068253793947220940706382435130207862715107200031214293454514024774558266748835798535494357182863208827408794963208560457196025561378441346554639795699016869771325217914356827909495035584261039415107863868863546411479549072024670495023067067504683747345710717213915608076717115203610338248478447631186201306117072042602015528294115729052292989065636907534864083721452357669979342482454897400410016040772506564016694329587980261631912817994292156321341612583882133010022245159765280884874876478127463488822612510411363873698256783745486958520764235791528891877903782782584789744640438929222171277631593943972146731139004519547689321282098286477157212721380075131447213012053925064751610378991226083667723377180667485515380086870572914127846503716667711923621750963688684230181642304435367027542245430951542131701059607654398188610568251771372971636387517053628315048775787171646371378362635573016429103641103896380951108755130868731000117396882990875718616865038915829965621958841546245260522075696059787340117281013136359083616493407131859565215340713314444254650640360046279431732184294320958712678087928378485487214423938535906835509212196826649097189313394420800615227996262443651956475212432178597889891427714545535012357852157476034942963339965478259281069479651246285514004120305674675190933820321063562824021225656853783433952046726095111895296446903995096846846441097929690543947538102266708025935098874149980490926309362473696520098937302083268755098771549517801315249705325432177462100347749035299195570922690070601705505689535618441035735247463000777884279766858287219282399295132092611445378169564700192335174580168782846488290644745951217209881030112885775195350875951359476363867474088452354542460037263283270933906642327150920184778449448925826325513131471208440877562204809470229977877319227304487511066948365878969833746485530209361933876257781299840464407245450416505931751601586394333956130470550083438873071585825677645525668878054770244652822357195404196515018717407704781732967337653397944951762669495923073871780684288980517808801]]

0 件のコメント:

コメントを投稿