from_perfect_numbers.sf 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/ruby
  2. # Generate upper-bounds using perfect numbers.
  3. # Based on observations made by Naohiro Nomoto in A212490.
  4. # Fast checking Perl program:
  5. # perl -Mntheory=:all -E 'my $n = $ARGV[0]; say scalar grep { Math::Prime::Util::GMP::mulint(Math::Prime::Util::GMP::sigma($_), $_) eq $n } Math::Prime::Util::GMP::divisors($n)'
  6. var arr = [6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128, 2658455991569831744654692615953842176, 191561942608236107294793378084303638130997321548169216, 13164036458569648337239753460458722910223472318386943117783728128, 14474011154664524427946373126085988481573677491474835889066354349131199152128, 23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152427010394496918664028644534128033831439790236838624033171435922356643219703101720713163527487298747400647801939587165936401087419375649057918549492160555646976, 141053783706712069063207958086063189881486743514715667838838675999954867742652380114104193329037690251561950568709829327164087724366370087116731268159313652487450652439805877296207297446723295166658228846926807786652870188920867879451478364569313922060370695064736073572378695176473055266826253284886383715072974324463835300053138429460296575143368065570759537328128, 54162526284365847412654465374391316140856490539031695784603920818387206994158534859198999921056719921919057390080263646159280013827605439746262788903057303445505827028395139475207769044924431494861729435113126280837904930462740681717960465867348720992572190569465545299629919823431031092624244463547789635441481391719816441605586788092147886677321398756661624714551726964302217554281784254817319611951659855553573937788923405146222324506715979193757372820860878214322052227584537552897476256179395176624426314480313446935085203657584798247536021172880403783048602873621259313789994900336673941503747224966984028240806042108690077670395259231894666273615212775603535764707952250173858305171028603021234896647851363949928904973292145107505979911456221519899345764984291328]
  7. arr.map_reduce{|a,b|
  8. a*b
  9. }.map_kv {|k,v|
  10. 2**k * v
  11. }.each {|k|
  12. say [k.divisors(k.isqrt).count { .sigma*_ == k }, k]
  13. }
  14. # Conjecture: a(n) <= 2^(n-1) * Product_{k=1..n} A000396(k). - ~~~~
  15. # The conjecture was checked up to n = 12.
  16. __END__
  17. [1, 6]
  18. [2, 336]
  19. [3, 333312]
  20. [4, 5418319872]
  21. [5, 363572904522153984]
  22. [6, 6246087284309785947257438208]
  23. [7, 1716908124551996896669734276042690920448]
  24. [8, 7917841189233800244470292555938612387093638081493952626688]
  25. [9, 42098464699633996436738392889596794579275402420816550424124454331379625998266285226801995186176]
  26. [10, 16128927357372282677270683252783400684640975204788004768166768161435682429531363765100340934942223871464926298569266067113819614280768245875743916032]
  27. [11, 424643575540140281785722027877258477559536549953678706715629657225433464284690693878614748688072879425099702426979739092216883432271990516971873105107536741613481873189079858924431026907599422962497703326297096192]
  28. [12, 12292591698249236084816315747496935535433984870930132558664104554574526894269737623737909230232897678495318902813988062384723281026280445082510991380994957796395480234922404330683166975471538758394137886990620760110790055105686522140471974298520990107916675262400331407936006708437714993152]
  29. [13, 579293877517894258499016293895898913064064628302781010110665243144573827137620320341571050759473140881026046117465295437897981032622037725826620501920460694516528127374953648635586377898482030911261776613266574306965373866366751643790810742428373066457385106054703748887936577604426948036830893058445124626190683376028840610889164207640309144956936534160983938197700523822320177754923074180817531923751488971823687650283872858741006117258976774142970883819880639962525230500997812185228922243580862692359115623530860528976713539057889031884827327834016830777014296166883124688032287293215417229539016704]
  30. [14, 163423186604063220263171538218762145829618903346633747166715097314717619062566785728378121760157937029660750382636946946255310194677912019439886893433742349643216765419257994769930453315289915850593239683579882991613782582443715562995965028455288444119164479890400547933785899265603588882862305064087914073829874656713804771098895676668769799441352424061766125542076256405869190078128531204824516167248941004483608440736562036669011702436328264758100168137500366191081166318361236520610554469014370240441378031452727961165275191457416115843843168844140054088590801691150619319244113989027119544695064762991031841028511626763760609207265529657536880061858135992615266272756326396313964353386461479514211234673455600873130262884395328585129708273122867432777566857421533193854295230003024403516907781446389563888316875877712923661975174262168092126466938697600387622091232944349468460778412879015588576980494497848193941426631738524203808493863221993716164208969042100224]
  31. [15, 17702825279834797637377108501594265375375842278302563215780963792937655377415535832090356028513482669254718571288537298801109202894882543136394472125554430033663281100897911564783786309925801617936039694716352867184419519191162034202431145492271812752569755907846504743594565838623600271997401857574462263520950060075685260698623686964269721327538154798656501655593773448188684626429410092302426574978907045476824645289000516714740149022290177615875054053865653883829551058300041131100436625329454454480172870559276557432062476332174887879257637337726680998773653577559693893732524110444976486865927374782851707609781058943515883952702863327263356282569884710457305956672596332655945310901345959879895542041566392696376786544819190794954776664237046718570719446510102617988407065031277981419133584008313759092782952723636323250242060282516096104773404590570718369965309093691254838099367594103210093414728209025598498715399069641919193215606947688376681669091805898917712613584655404114664471331179575846059984115716624257187309314684468607333705606245584418545195277826425321652175741226467999001409046279077897354162437630214209559660870935853774003991510441644123515421114334346436096938041374369810130125878095195244446914750670516999600495623064533763110948396253990731616113523363694058489535593643441290458717106089401150504632333872976084422412893109495777604407007762770262913230965747942530831213808302839249485911427698713693938166872775682846181614519961779548659401808668943273671130671727941690319457948329604744077774755402775645792434206626043594164945192125296331489696179919551019763654790836385909060482091510032184796410483127282850169783331416580537587886479360520545880985637836772919874443106529084651621706780114944]