Statistics

Problem Statement for "CollectingBonuses"

Problem Statement

A juice company is running a promotion where each juice bottle they sell contains a code that you can redeem for a prize. There are n different codes, each corresponding to a different type of prize. The codes are evenly distributed, so the probability of winning a certain type of prize is 1/n for each bottle. The codes are written underneath the bottle caps, so you can't read them until you buy the bottles. Your goal is to collect k different types of prizes. Return the expected number of bottles you must buy to achieve this goal.

Definition

Class:
CollectingBonuses
Method:
expectedBuy
Parameters:
String, String
Returns:
double
Method signature:
double expectedBuy(String n, String k)
(be sure your method is public)

Notes

  • The returned value must be accurate to within a relative or absolute value of 1E-9.

Constraints

  • n and k will contain digits ('0' - '9') only.
  • n and k will represent positive integers without leading zeros.
  • n will represent an integer between 1 and 10^18, inclusive.
  • k will represent an integer between 1 and the integer n represents, inclusive.

Examples

  1. "1"

    "1"

    Returns: 1.0

    With only 1 type of prizes you just need to buy 1 bottle.

  2. "2"

    "1"

    Returns: 1.0

    Now there are 2 types of prizes, but any one will satisfy you, so you again need only 1 bottle.

  3. "2"

    "2"

    Returns: 3.0

    First you buy 1 bottle and collect some type of prizes. After this, you need to collect another type of prizes. Only half of bottles contains it, so in average you must buy 2 more bottles to achieve your goal.

  4. "999999999999999999"

    "999999999"

    Returns: 9.999999995E8

  5. "999999999999999999"

    "999999999999999999"

    Returns: 4.202374733879435E19

  6. "12345"

    "123"

    Returns: 123.61182725183491

  7. "123456789"

    "123456789"

    Returns: 2.3714342296692758E9

  8. "123456789"

    "12345"

    Returns: 12345.617207203177

  9. "1234567890123456"

    "1234567890"

    Returns: 1.2345685072843559E9

  10. "7"

    "3"

    Returns: 3.566666666666667

  11. "218"

    "41"

    Returns: 45.30366038127212

  12. "1692038591"

    "2359193"

    Returns: 2360839.2296567466

  13. "198275398293849"

    "112939489382893"

    Returns: 1.6715837985117944E14

  14. "12397539298439"

    "12397539298000"

    Returns: 2.983205152156711E14

  15. "12345678"

    "12345678"

    Returns: 2.0871643110346735E8

  16. "56781234"

    "56781234"

    Returns: 1.0465878505214562E9

  17. "123456789"

    "123454321"

    Returns: 1.3358068774344294E9

  18. "123456789"

    "123456780"

    Returns: 2.0221788928514185E9

  19. "1234567890123"

    "1234566789000"

    Returns: 1.7197407941607326E13

  20. "5555555512345"

    "12345"

    Returns: 12345.000013714802

  21. "49000000"

    "1"

    Returns: 1.0

  22. "8597705003058896"

    "4263000"

    Returns: 4263000.001056861

  23. "17247006936141401"

    "6006801"

    Returns: 6006801.001046026

  24. "9158096943131503"

    "49999999"

    Returns: 4.999999913649123E7

  25. "4390464402"

    "4389792928"

    Returns: 3.8572291205878876E10

  26. "9158096943131503"

    "4999999"

    Returns: 4999999.001364912

  27. "9158096943131503"

    "499999"

    Returns: 499999.00001364906

  28. "999999999999999999"

    "714095618"

    Returns: 7.140956182549663E8

  29. "999999999999999999"

    "635124699"

    Returns: 6.351246992016917E8

  30. "999999999999999999"

    "525848194"

    Returns: 5.2584819413825816E8

  31. "999999999999999999"

    "133946281"

    Returns: 1.339462810089708E8

  32. "999999999999999999"

    "513446915"

    Returns: 5.134469151318139E8

  33. "999999999999999999"

    "436935328"

    Returns: 4.3693532809545624E8

  34. "999999999999999999"

    "593242844"

    Returns: 5.932428441759685E8

  35. "999999999999999999"

    "132949346"

    Returns: 1.3294934600883776E8

  36. "999999999999999999"

    "859519858"

    Returns: 8.595198583693871E8

  37. "999999999999999999"

    "497127650"

    Returns: 4.9712765012356794E8

  38. "999999999999999999"

    "313332197"

    Returns: 3.1333219704908854E8

  39. "999999999999999999"

    "843442550"

    Returns: 8.434425503556976E8

  40. "999999999999999999"

    "580128563"

    Returns: 5.801285631682745E8

  41. "999999999999999999"

    "915226265"

    Returns: 9.152262654188195E8

  42. "999999999999999999"

    "241876283"

    Returns: 2.4187628302925208E8

  43. "999999999999999999"

    "504259864"

    Returns: 5.0425986412713903E8

  44. "999999999999999999"

    "989599133"

    Returns: 9.895991334896532E8

  45. "999999999999999999"

    "211899745"

    Returns: 2.1189974502245075E8

  46. "999999999999999999"

    "182974866"

    Returns: 1.829748660167399E8

  47. "999999999999999999"

    "723884458"

    Returns: 7.238844582620044E8

  48. "4"

    "3"

    Returns: 4.333333333333333

  49. "60506298085492492"

    "60482287309403175"

    Returns: 4.7388532696195898E17

  50. "4665942929939122"

    "335743874596"

    Returns: 3.35755954614849E11

  51. "5319470233654"

    "5126342963"

    Returns: 5.128814664763474E9

  52. "9813652408233"

    "9813652407749"

    Returns: 2.3289443921309678E14

  53. "573213573970"

    "573213561362"

    Returns: 1.0107129728913447E13

  54. "73129388"

    "73045284"

    Returns: 4.949342515358152E8

  55. "40728449215116"

    "40721158848733"

    Returns: 3.514102861854884E14

  56. "71382128232039"

    "71375745451819"

    Returns: 6.654384071671254E14

  57. "37379737142218905"

    "8974356504341557"

    Returns: 1.0262613697449582E16

  58. "39563965771"

    "39563142909"

    Returns: 4.265248795326505E11

  59. "84628205771417595"

    "84628145200144149"

    Returns: 1.19748550865484467E18

  60. "24536410"

    "23878648"

    Returns: 8.87989733711081E7

  61. "5913563619733"

    "521613038"

    Returns: 5.2163604410755926E8

  62. "37791927064759"

    "37791926967241"

    Returns: 7.473474225307289E14

  63. "37653154115181"

    "66239351664"

    Returns: 6.629768415224618E10

  64. "3820594460558616"

    "475687228"

    Returns: 4.756872576129777E8

  65. "5807435335"

    "1476954194"

    Returns: 1.704252278823898E9

  66. "64619176272"

    "64618114013"

    Returns: 7.118363321577192E11

  67. "38910086"

    "38909426"

    Returns: 4.273793126816553E8

  68. "74796428358507442"

    "118414"

    Returns: 118414.00000009373

  69. "6252130839182"

    "6252130838521"

    Returns: 1.4360790277529075E14

  70. "543357237"

    "543354085"

    Returns: 6.551435604766216E9

  71. "66540041012841108"

    "66539244951890869"

    Returns: 7.5414078334731712E17

  72. "905931919927123003"

    "1"

    Returns: 1.0

  73. "486849920209"

    "573694"

    Returns: 573694.338014321

  74. "87"

    "37"

    Returns: 47.8199468929702

  75. "496739394316243"

    "496739394316204"

    Returns: 1.4983030772153946E16

  76. "535667913269973"

    "215659429719"

    Returns: 2.1570285352247037E11

  77. "94151983529"

    "98551303"

    Returns: 9.860291711175844E7

  78. "379966603576794"

    "374352261569526"

    Returns: 1.6014676495951338E15

  79. "513583686136220168"

    "7469960"

    Returns: 7469960.000054324

  80. "978108330390709159"

    "803040"

    Returns: 803040.0000003297

  81. "429426496696119737"

    "429423507382296035"

    Returns: 5.0995092145787484E18

  82. "210554823153328092"

    "210554823153327331"

    Returns: 7.0016284277728819E18

  83. "853690371508865930"

    "853291399201239146"

    Returns: 6.546466421561686E18

  84. "326405084590734646"

    "326396321135677028"

    Returns: 3.4355128206642739E18

  85. "464036341552130300"

    "791588715360"

    Returns: 7.915893905370829E11

  86. "474531252245507565"

    "474444492582179939"

    Returns: 4.0842624684043228E18

  87. "292525114927782994"

    "292525114924319635"

    Returns: 7.3598082386360238E18

  88. "338187425126862149"

    "21414"

    Returns: 21414.000000000677

  89. "309367936096480831"

    "6019072547196"

    Returns: 6.019131101590341E12

  90. "193386337027428543"

    "193385937127692660"

    Returns: 2.5312311811119585E18

  91. "950469204046516353"

    "950469204046515467"

    Returns: 3.2894266854380958E19

  92. "509705434963486863"

    "30974186471"

    Returns: 3.0974187412132072E10

  93. "627596967838889090"

    "619587611393956203"

    Returns: 2.7371309838323512E18

  94. "844160530410783067"

    "21843926295104"

    Returns: 2.18442089222409E13

  95. "277271702306922347"

    "277921799310"

    Returns: 2.7792193859680334E11

  96. "774354797031945431"

    "738891232580620502"

    Returns: 2.3877418696483615E18

  97. "166060830199166566"

    "166060822608479443"

    Returns: 2.8065845607596708E18

  98. "150619633367322726"

    "2477022091"

    Returns: 2.4770221113679905E9

  99. "196960745448280138"

    "5833569075734"

    Returns: 5.833655466552742E12

  100. "349160207070283774"

    "617527"

    Returns: 617527.0000005461

  101. "839197076132227748"

    "10760876806063487"

    Returns: 1.0830464739248106E16

  102. "137958372494407101"

    "74702440931841191"

    Returns: 1.07574846579969072E17

  103. "939263848532610904"

    "939263848532605400"

    Returns: 3.078019441774887E19

  104. "512676880019313111"

    "512676601271567598"

    Returns: 7.3952866345569577E18

  105. "501610210123375766"

    "6890"

    Returns: 6890.000000000047

  106. "942865292384038211"

    "942856480033102044"

    Returns: 1.0918874569992776E19

  107. "389685216376644418"

    "389684419787389003"

    Returns: 5.1050753277104937E18

  108. "112276843502786937"

    "498"

    Returns: 498.0000000000011

  109. "1000000000000000000"

    "498403686"

    Returns: 4.9840368612420315E8

  110. "1000000000000000000"

    "4971"

    Returns: 4971.000000000013

  111. "1000000000000000000"

    "2366"

    Returns: 2366.0000000000027

  112. "1000000000000000000"

    "999999999185105559"

    Returns: 2.092796253070798E19

  113. "1000000000000000000"

    "119390"

    Returns: 119390.00000000713

  114. "1000000000000000000"

    "788"

    Returns: 788.0000000000003

  115. "1000000000000000000"

    "999999999440641158"

    Returns: 2.130422991223281E19

  116. "1000000000000000000"

    "230046"

    Returns: 230046.00000002646

  117. "1000000000000000000"

    "991917756477153814"

    Returns: 4.8180857812719821E18

  118. "1000000000000000000"

    "7337813760151"

    Returns: 7.337840682038088E12

  119. "1000000000000000000"

    "999999999255054531"

    Returns: 2.101771009552991E19

  120. "1000000000000000000"

    "29148703"

    Returns: 2.9148703000424825E7

  121. "1000000000000000000"

    "999999999999999997"

    Returns: 4.0190414005461025E19

  122. "1000000000000000000"

    "999999999409401374"

    Returns: 2.1249884472222515E19

  123. "1000000000000000000"

    "999999999999477768"

    Returns: 2.8280663503891202E19

  124. "1000000000000000000"

    "999999999999999955"

    Returns: 3.762879922324303E19

  125. "1000000000000000000"

    "999750537587707974"

    Returns: 8.2962023062580398E18

  126. "1000000000000000000"

    "999999999999999938"

    Returns: 3.7311354450961605E19

  127. "1000000000000000000"

    "694730772280"

    Returns: 6.947310136055348E11

  128. "1000000000000000000"

    "999999999999993548"

    Returns: 3.2674308741299286E19

  129. "1000000000000000000"

    "862111303675314"

    Returns: 8.624831353474951E14

  130. "1000000000000000000"

    "999999754920228772"

    Returns: 1.5221682082545816E19

  131. "1000000000000000000"

    "999999928483493014"

    Returns: 1.6453337546948065E19

  132. "1000000000000000000"

    "13214732800"

    Returns: 1.3214732887314583E10

  133. "1000000000000000000"

    "999999999999998070"

    Returns: 3.3880997347008344E19

  134. "1000000000000000000"

    "999999999999999994"

    Returns: 3.957374733879435E19

  135. "1000000000000000000"

    "264295500303380793"

    Returns: 3.0692673585136877E17

  136. "1000000000000000000"

    "1843393311"

    Returns: 1.8433933126990495E9

  137. "1000000000000000000"

    "2634322"

    Returns: 2634322.0000034696

  138. "1000000000000000000"

    "999998486134095005"

    Returns: 1.3400843976887755E19

  139. "1000000000000000000"

    "1"

    Returns: 1.0

  140. "1000000000000000000"

    "1000000000000000000"

    Returns: 4.202374733879435E19

  141. "98675537619876512"

    "986755376198"

    Returns: 9.867603100077731E11

  142. "1000000000000000000"

    "10000000000"

    Returns: 1.000000005E10

  143. "923450342389412399"

    "1234"

    Returns: 1234.000000000001

  144. "1000000000000000000"

    "12342364332"

    Returns: 1.2342364408166979E10

  145. "1235345612332"

    "1235345612332"

    Returns: 3.510801279628695E13

  146. "987605248730638741"

    "590479265483902874"

    Returns: 8.9973751949385613E17

  147. "1000000000000000000"

    "2345983459825"

    Returns: 2.3459862116485005E12

  148. "1000000000000000000"

    "1000000000000000"

    Returns: 1.0005003335835335E15

  149. "41415151223332"

    "3213212315225"

    Returns: 3.3447089157931855E12

  150. "1000000000000000000"

    "100000000000000000"

    Returns: 1.05360515657826304E17

  151. "1000045698467934"

    "400084679847"

    Returns: 4.0016473141660626E11

  152. "100000000000"

    "50000000000"

    Returns: 6.931471805549454E10

  153. "999999999999999999"

    "199999999999999999"

    Returns: 2.2314355131420976E17

  154. "10000000"

    "5000000"

    Returns: 6931471.305599478

  155. "948494948948941651"

    "489489415616516448"

    Returns: 6.8843110151150208E17

  156. "50000000"

    "50000000"

    Returns: 9.152374619146976E8

  157. "10000000000"

    "1"

    Returns: 1.0

  158. "637843264384"

    "2343434"

    Returns: 2343438.3048930094

  159. "10000000000000"

    "1000000000000"

    Returns: 1.0536051565782074E12

  160. "1337328974"

    "666199233"

    Returns: 9.220443660135001E8

  161. "100000000000000000"

    "10000000000000000"

    Returns: 1.053605156578263E16

  162. "34534643655675"

    "4356456643454"

    Returns: 4.65677585104082E12

  163. "1000000000000000000"

    "999999999999999999"

    Returns: 4.102374733879435E19

  164. "1000000000000000000"

    "500000000000000000"

    Returns: 6.9314718055994534E17

  165. "1000000000000000"

    "1000000000000000"

    Returns: 3.511599205981222E16

  166. "1000000000000000"

    "100000000000000"

    Returns: 1.0536051565782625E14

  167. "1000000000000000000"

    "11000000"

    Returns: 1.10000000000605E7

  168. "500000000"

    "50"

    Returns: 50.00000245000016

  169. "1000000000000000000"

    "1000000000"

    Returns: 1.0000000005E9

  170. "300000000"

    "299999999"

    Returns: 5.728952609756602E9

  171. "100000000000000001"

    "100000000000000000"

    Returns: 3.872116224580031E18

  172. "987654321987654321"

    "987654321987654321"

    Returns: 4.149266653071088E19

  173. "100000003"

    "50000001"

    Returns: 6.931471863543609E7

  174. "10000000"

    "10000000"

    Returns: 1.669531136585985E8

  175. "100000000000000000"

    "1000000000"

    Returns: 1.000000005E9

  176. "99999999999999999"

    "123456789"

    Returns: 1.2345678907620789E8

  177. "1000000000000000"

    "98745612382"

    Returns: 9.875048805095222E10

  178. "1000000000000000000"

    "5"

    Returns: 5.0

  179. "100000000000000000"

    "99999999999999999"

    Returns: 3.872116224580031E18

  180. "10000000000"

    "9000000000"

    Returns: 2.3025850925440456E10

  181. "99999999999999999"

    "999999999"

    Returns: 1.000000004E9

  182. "100000000"

    "100000000"

    Returns: 1.8997896413853898E9

  183. "999999999999999999"

    "999999999995999999"

    Returns: 2.6244726629808665E19

  184. "100000000000"

    "1"

    Returns: 1.0

  185. "1000000000000000000"

    "60000000"

    Returns: 6.00000000018E7

  186. "1000000000000000000"

    "4"

    Returns: 4.0

  187. "100000000000000000"

    "100000000000000000"

    Returns: 3.972116224580031E18

  188. "1000000000000000000"

    "30000010"

    Returns: 3.000001000045E7

  189. "10200000"

    "10199999"

    Returns: 1.602941627201915E8

  190. "1000000000000000000"

    "14574857348957574"

    Returns: 1.4682114025218992E16

  191. "123456789123456789"

    "1"

    Returns: 1.0

  192. "1000000000000000000"

    "2"

    Returns: 2.0

  193. "1000000000000000"

    "100000"

    Returns: 100000.00000499995

  194. "1000000000000000000"

    "99999999999998"

    Returns: 1.0000500033335633E14

  195. "1000000000000000000"

    "1000001"

    Returns: 1000001.0000005

  196. "1000000000000000000"

    "10000001"

    Returns: 1.000000100005E7

  197. "2000000"

    "1500000"

    Returns: 2772587.222240406

  198. "50000001"

    "1"

    Returns: 1.0

  199. "92346278348723564"

    "1111111"

    Returns: 1111111.0000066843

  200. "30000001"

    "1"

    Returns: 1.0


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: