2016年2月27日土曜日

160227(2)

Ruby


隣り合う階乗の和(5)

1 / ((0 + 2)^(k - 1) 0!) + 1 / ((1 + 2)^(k - 1) 1!) + 1 / ((2 + 2)^(k - 1) 2!) + … の和を求めてみた。

require 'bigdecimal'

def f(n)
  return 1 if n == 0
  (1..n).inject(:*)
end

# 階乗の和で表現
def g(k, n)
  return f(n - 1) if k == 1
  return f(n - 1) + f(n) if k == 2
  return f(n - 1) + f(n) + f(n + 1) if k == 3
  return f(n - 1) + f(n)            +     f(n + 2) if k == 4
  return f(n - 1) + f(n) + f(n + 1) - 2 * f(n + 2) + f(n + 3) if k == 5
end

def h(k, n)
  (1..n).inject(0){|s, i| s += 1r / g(k, i)}
end

def i(k, n)
  (1..n).map{|i| g(k, i)}
end

n = 40
(1..5).each{|k| p i(k, n)}

(1..5).each{|k|
  (1..n).each{|i|
    p BigDecimal(h(k, i), 40).to_s("F")
  }
}

出力結果
[1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, 87178291200, 1307674368000, 20922789888000, 355687428096000, 6402373705728000, 121645100408832000, 2432902008176640000, 51090942171709440000, 1124000727777607680000, 25852016738884976640000, 620448401733239439360000, 15511210043330985984000000, 403291461126605635584000000, 10888869450418352160768000000, 304888344611713860501504000000, 8841761993739701954543616000000, 265252859812191058636308480000000, 8222838654177922817725562880000000, 263130836933693530167218012160000000, 8683317618811886495518194401280000000, 295232799039604140847618609643520000000, 10333147966386144929666651337523200000000, 371993326789901217467999448150835200000000, 13763753091226345046315979581580902400000000, 523022617466601111760007224100074291200000000, 20397882081197443358640281739902897356800000000]
[2, 3, 8, 30, 144, 840, 5760, 45360, 403200, 3991680, 43545600, 518918400, 6706022400, 93405312000, 1394852659200, 22230464256000, 376610217984000, 6758061133824000, 128047474114560000, 2554547108585472000, 53523844179886080000, 1175091669949317120000, 26976017466662584320000, 646300418472124416000000, 16131658445064225423360000, 418802671169936621568000000, 11292160911544957796352000000, 315777214062132212662272000000, 9146650338351415815045120000000, 274094621805930760590852096000000, 8488091513990113876361871360000000, 271353675587871452984943575040000000, 8946448455745580025685412413440000000, 303916116658416027343136804044800000000, 10628380765425749070514269947166720000000, 382326474756287362397666099488358400000000, 14135746418016246263783979029731737600000000, 536786370557827456806323203681655193600000000, 20920904698664044470400288964002971648000000000, 836313165329095177704251551336018791628800000000]
[4, 9, 32, 150, 864, 5880, 46080, 408240, 4032000, 43908480, 522547200, 6745939200, 93884313600, 1401079680000, 22317642547200, 377917892352000, 6778983923712000, 128403161542656000, 2560949482291200000, 53645489280294912000, 1177524571957493760000, 27027108408834293760000, 647424419199902023680000, 16157510461803110400000000, 419423119571669861007360000, 11307672121588288782336000000, 316180505523258818297856000000, 9157539207801834167205888000000, 274399510150542474451353600000000, 8496933275983853578316414976000000, 271618928447683644043579883520000000, 8954671294399757948503137976320000000, 304179247495349720873304022056960000000, 10637064083044560957009788141568000000000, 382621707555326966538513718098001920000000, 14146079565982632408713645681069260800000000, 537158363884617358023791203129806028800000000, 20934668451755270815446604943584552550400000000, 836836187946561778816011558560118865920000000000, 34288839778492902285874313604776770456780800000000]
[8, 27, 128, 750, 5184, 41160, 368640, 3674160, 40320000, 482993280, 6270566400, 87697209600, 1314380390400, 21016195200000, 357082280755200, 6424604169984000, 122021710626816000, 2439660069310464000, 51218989645824000000, 1126555274886193152000, 25905540583064862720000, 621623493403188756480000, 15538186060797648568320000, 403937761545077760000000000, 10905001108863416386191360000, 305307147282883797123072000000, 8853054154651246912339968000000, 265568637026253190848970752000000, 8231985304516274233540608000000000, 263404931555499460927808864256000000, 8691805710325876609394556272640000000, 295504152715192012300603553218560000000, 10342094414841890509692336749936640000000, 372297242906559633495342584954880000000000, 13774381471991770795386493851528069120000000, 523404943941357399122404890199562649600000000, 20412017827615459604904065718932629094400000000, 816452069618455561802417592799797549465600000000, 33473447517862471152640462342404754636800000000000, 1405842430918208993720846857795847588728012800000000]
[16, 81, 512, 3750, 31104, 288120, 2949120, 33067440, 403200000, 5312926080, 75246796800, 1140063724800, 18401325465600, 315242928000000, 5713316492083200, 109218270889728000, 2196390791282688000, 46353541316898816000, 1024379792916480000000, 23657660772610056192000, 569921892827426979840000, 14297340348273341399040000, 372916465459143565639680000, 10098444038626944000000000000, 283530028830448826040975360000, 8243292976637862522322944000000, 247885516330234913545519104000000, 7701490473761342534620151808000000, 246959559135488227006218240000000000, 8165552878220483288762074791936000000, 278137782730428051500625800724480000000, 9751637039601336405919917256212480000000, 351631210104624277329539449497845760000000, 13030403501729587172336990473420800000000000, 495877732991703748633913778655010488320000000, 19365982925830223767528980937383818035200000000, 775656677449387464986354497319439905587200000000, 31841630715119766910294286119192104429158400000000, 1338937900714498846105618493696190185472000000000000, 57639539667646568742554721169629751137848524800000000]
"1.0"
"2.0"
"2.5"
"2.666666666666666666666666666666666666667"
"2.708333333333333333333333333333333333333"
"2.716666666666666666666666666666666666667"
"2.718055555555555555555555555555555555556"
"2.718253968253968253968253968253968253968"
"2.71827876984126984126984126984126984127"
"2.718281525573192239858906525573192239859"
"2.718281801146384479717813051146384479718"
"2.71828182619849286515953182619849286516"
"2.71828182828616856394634172411950189728"
"2.718281828446759002314557870113425668981"
"2.71828182845822974791228759482727736696"
"2.718281828458994464285469576474867480158"
"2.718281828459042259058793450327841862233"
"2.718281828459045070516047795848605061179"
"2.718281828459045226708117481710869683343"
"2.718281828459045234928752728335199400299"
"2.718281828459045235339784490666415886146"
"2.718281828459045235359357431729807147377"
"2.718281828459045235360247110869052204706"
"2.718281828459045235360285792570758511546"
"2.718281828459045235360287404308329607665"
"2.718281828459045235360287468777832451509"
"2.718281828459045235360287471257428714"
"2.718281828459045235360287471349265613372"
"2.718281828459045235360287471352545502609"
"2.718281828459045235360287471352658602238"
"2.718281828459045235360287471352662372226"
"2.718281828459045235360287471352662493838"
"2.718281828459045235360287471352662497639"
"2.718281828459045235360287471352662497754"
"2.718281828459045235360287471352662497757"
"2.718281828459045235360287471352662497757"
"2.718281828459045235360287471352662497757"
"2.718281828459045235360287471352662497757"
"2.718281828459045235360287471352662497757"
"2.718281828459045235360287471352662497757"
"0.5"
"0.8333333333333333333333333333333333333333"
"0.9583333333333333333333333333333333333333"
"0.9916666666666666666666666666666666666667"
"0.9986111111111111111111111111111111111111"
"0.9998015873015873015873015873015873015873"
"0.9999751984126984126984126984126984126984"
"0.9999972442680776014109347442680776014109"
"0.9999997244268077601410934744268077601411"
"0.9999999749478916145582812249478916145583"
"0.9999999979123243012131901020789909678799"
"0.9999999998394095616317838540060762282985"
"0.9999999999885292544022702752861483020213"
"0.9999999999992352836268180183524098868014"
"0.9999999999999522052266761261470256179251"
"0.9999999999999971885427456544792368010544"
"0.9999999999999998438079303141377353778364"
"0.999999999999999991779364753375670283044"
"0.9999999999999999995889682376687835141522"
"0.9999999999999999999804270589366087387692"
"0.9999999999999999999991103208607549426713"
"0.9999999999999999999999613182982936931596"
"0.9999999999999999999999983882624289038817"
"0.9999999999999999999999999355304971561553"
"0.9999999999999999999999999975204037367752"
"0.999999999999999999999999999908163101362"
"0.9999999999999999999999999999967201107629"
"0.9999999999999999999999999999998869003711"
"0.9999999999999999999999999999999962300124"
"0.9999999999999999999999999999999998783875"
"0.9999999999999999999999999999999999961996"
"0.9999999999999999999999999999999999998848"
"0.9999999999999999999999999999999999999966"
"0.9999999999999999999999999999999999999999"
"1.0"
"1.0"
"1.0"
"1.0"
"1.0"
"1.0"
"0.25"
"0.3611111111111111111111111111111111111111"
"0.3923611111111111111111111111111111111111"
"0.3990277777777777777777777777777777777778"
"0.4001851851851851851851851851851851851852"
"0.4003552532123960695389266817838246409675"
"0.4003769546012849584278155706727135298564"
"0.4003794041407715349514291313233112174911"
"0.4003796521566445508244450043391842333641"
"0.400379674931288537589643890750191856493"
"0.4003796768449912614775529638444501359364"
"0.4003796769932285892020601755311490021225"
"0.4003796770038799958285234913368684359598"
"0.4003796770045937311101600075412858749452"
"0.4003796770046385387101511392784493581404"
"0.4003796770046411847875669938862264865598"
"0.400379677004641332302299474978365296381"
"0.4003796770046413400902697086224671334972"
"0.4003796770046413404807498828371227950526"
"0.4003796770046413404993907790879716152724"
"0.400379677004641340500240018266341897268"
"0.4003796770046413405002770181549305385936"
"0.400379677004641340500278562736769505707"
"0.4003796770046413405002786246274922357979"
"0.4003796770046413405002786270117194119756"
"0.4003796770046413405002786271001549439974"
"0.4003796770046413405002786271033176943331"
"0.4003796770046413405002786271034268939748"
"0.4003796770046413405002786271034305382961"
"0.4003796770046413405002786271034306559857"
"0.4003796770046413405002786271034306596673"
"0.400379677004641340500278627103430659779"
"0.4003796770046413405002786271034306597822"
"0.4003796770046413405002786271034306597823"
"0.4003796770046413405002786271034306597823"
"0.4003796770046413405002786271034306597823"
"0.4003796770046413405002786271034306597823"
"0.4003796770046413405002786271034306597823"
"0.4003796770046413405002786271034306597823"
"0.4003796770046413405002786271034306597823"
"0.125"
"0.162037037037037037037037037037037037037"
"0.169849537037037037037037037037037037037"
"0.1711828703703703703703703703703703703704"
"0.1713757716049382716049382716049382716049"
"0.1714000670373969693697584854047439081453"
"0.1714027797110080804808695965158550192564"
"0.1714030518820621445390488810325880956602"
"0.1714030766836494461263504683341753972475"
"0.1714030787540716267413685489169942720774"
"0.1714030789135468537320276383415157953644"
"0.1714030789249497250954512700097234004556"
"0.1714030789257105398544843639958462171583"
"0.1714030789257581222065934650761407130906"
"0.1714030789257609226815929108097134307903"
"0.1714030789257610783332056081395826736385"
"0.1714030789257610865284685237558126075175"
"0.1714030789257610869383616939476074410499"
"0.1714030789257610869578857026583402241277"
"0.1714030789257610869587733643845711203287"
"0.1714030789257610869588119661654061331466"
"0.1714030789257610869588135748562143349434"
"0.1714030789257610869588136392137909585731"
"0.1714030789257610869588136416894198677768"
"0.1714030789257610869588136417811209130144"
"0.1714030789257610869588136417843963030892"
"0.1714030789257610869588136417845092584584"
"0.1714030789257610869588136417845130239633"
"0.1714030789257610869588136417845131454406"
"0.1714030789257610869588136417845131492371"
"0.1714030789257610869588136417845131493521"
"0.1714030789257610869588136417845131493555"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.1714030789257610869588136417845131493556"
"0.0625"
"0.07484567901234567901234567901234567901235"
"0.07679880401234567901234567901234567901235"
"0.07706547067901234567901234567901234567901"
"0.07709762088477366255144032921810699588477"
"0.07710109166083919080355750261807922967625"
"0.07710143074504057969244639150696811856514"
"0.07710146098626880903224408978660512705446"
"0.07710146346642753919097424851676385721319"
"0.07710146365464773742870316493338375492499"
"0.07710146366793733967792475571876054853224"
"0.07710146366881448362895734277016113353926"
"0.07710146366886882754031684948345562044659"
"0.07710146366887199969712412288880858684208"
"0.07710146366887217472681158824715688169831"
"0.07710146366887218388278880573714919010115"
"0.07710146366887218433808118993805085309442"
"0.07710146366887218435965451468498742328034"
"0.07710146366887218436063071512052406243423"
"0.07710146366887218436067298472653505749142"
"0.07710146366887218436067473935293664898314"
"0.07710146366887218436067480929601526645257"
"0.07710146366887218436067481197758095910381"
"0.07710146366887218436067481207660611547195"
"0.07710146366887218436067481208013307875032"
"0.07710146366887218436067481208025438949384"
"0.07710146366887218436067481208025842361416"
"0.07710146366887218436067481208025855345916"
"0.07710146366887218436067481208025855750841"
"0.07710146366887218436067481208025855763087"
"0.07710146366887218436067481208025855763447"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"
"0.07710146366887218436067481208025855763457"

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。