Statistics

Problem Statement for "FloatingPoint"

Problem Statement

A floating point representation of a number in base b is written as M * bE, where M is called the mantissa and E is the exponent. Depending on the allowed values for M and E, a number may have multiple possible representations. In this problem, we will work with base 2, and we will limit M and E to be unsigned integers, each with a fixed number of bits. You must determine the number of possible representations a given number has in such a system.

For example, a 4-bit mantissa has a range of 0 to 15, inclusive, and a 2-bit exponent has a range of 0 to 3, inclusive. Using this system, the number 24 can be represented as: 12*21, 6*22, and 3*23. Note that every time the mantissa is doubled or halved, the exponent is decremented or incremented by 1, respectively. Given an int number, and the sizes in bits of the mantissa and exponent, return the number of floating point representations that are possible for that number.

Definition

Class:
FloatingPoint
Method:
representations
Parameters:
int, int, int
Returns:
int
Method signature:
int representations(int number, int mantissa, int exponent)
(be sure your method is public)

Constraints

  • number will be between 1 and 1000000000 (109), inclusive.
  • mantissa will be between 1 and 20, inclusive.
  • exponent will be between 1 and 20, inclusive.

Examples

  1. 24

    4

    2

    Returns: 3

    Example from the problem statement.

  2. 1

    3

    3

    Returns: 1

    The number 1 can be represented in only one way (regardless of the mantissa and exponent sizes).

  3. 8

    3

    3

    Returns: 3

    To represent the number 8 we can choose (ordered by exponent) from: 8*20, 4*21, 2*22, 1*23. The exponent has the range for larger numbers, but the smallest mantissa is used in the last case in this list.

  4. 16

    5

    2

    Returns: 4

    To represent the number 16 we can choose (ordered by exponent) from: 16*20, 8*21, 4*22, and 2*23. Here the next possibility (1*24) would require an exponent that cannot be represented with 3 bits.

  5. 17408

    10

    10

    Returns: 6

    Note that 17408 = 17*210. Thus the number 17 (or 1001 in binary notation) can be shifted to fit in 6 positions within the 10 mantissa bits (using leading or trailing zeros): from 17*210 to 544*25. Any exponent less than 5 would overflow the mantissa.

  6. 631933540

    19

    2

    Returns: 0

  7. 514787031

    19

    18

    Returns: 0

  8. 196309904

    7

    7

    Returns: 0

  9. 847780949

    14

    5

    Returns: 0

  10. 143200754

    10

    5

    Returns: 0

  11. 927944048

    1

    4

    Returns: 0

  12. 99006138

    16

    7

    Returns: 0

  13. 332147114

    20

    20

    Returns: 0

  14. 588529368

    20

    11

    Returns: 0

  15. 394242490

    7

    5

    Returns: 0

  16. 424608074

    7

    3

    Returns: 0

  17. 892754793

    13

    6

    Returns: 0

  18. 7820336

    15

    12

    Returns: 0

  19. 26116832

    15

    17

    Returns: 0

  20. 674136365

    2

    15

    Returns: 0

  21. 179709260

    19

    12

    Returns: 0

  22. 407020201

    11

    7

    Returns: 0

  23. 910277972

    19

    16

    Returns: 0

  24. 603213839

    5

    17

    Returns: 0

  25. 495977328

    1

    18

    Returns: 0

  26. 760255090

    15

    10

    Returns: 0

  27. 44338459

    11

    8

    Returns: 0

  28. 515495838

    12

    20

    Returns: 0

  29. 578962801

    12

    14

    Returns: 0

  30. 313355216

    15

    10

    Returns: 0

  31. 199756940

    16

    16

    Returns: 0

  32. 633285903

    8

    20

    Returns: 0

  33. 542777131

    20

    11

    Returns: 0

  34. 768205692

    8

    11

    Returns: 0

  35. 890397417

    8

    6

    Returns: 0

  36. 390859791

    15

    19

    Returns: 0

  37. 114098857

    17

    2

    Returns: 0

  38. 81398939

    16

    17

    Returns: 0

  39. 765652160

    18

    18

    Returns: 0

  40. 890746764

    19

    7

    Returns: 0

  41. 453213779

    7

    17

    Returns: 0

  42. 312469788

    2

    7

    Returns: 0

  43. 339607260

    20

    16

    Returns: 0

  44. 706009239

    13

    12

    Returns: 0

  45. 238498821

    16

    11

    Returns: 0

  46. 200204381

    14

    10

    Returns: 0

  47. 471124768

    11

    15

    Returns: 0

  48. 806529479

    5

    12

    Returns: 0

  49. 464186448

    10

    7

    Returns: 0

  50. 981236291

    20

    20

    Returns: 0

  51. 523192449

    18

    1

    Returns: 0

  52. 763520300

    20

    10

    Returns: 0

  53. 470326824

    1

    10

    Returns: 0

  54. 833798594

    8

    2

    Returns: 0

  55. 572922340

    18

    19

    Returns: 0

  56. 914283208

    3

    9

    Returns: 0

  57. 488383927

    8

    10

    Returns: 0

  58. 700018184

    18

    20

    Returns: 0

  59. 268134363

    9

    20

    Returns: 0

  60. 220198716

    15

    8

    Returns: 0

  61. 443316236

    2

    13

    Returns: 0

  62. 18448224

    14

    13

    Returns: 0

  63. 918163715

    15

    4

    Returns: 0

  64. 562991358

    6

    6

    Returns: 0

  65. 33543863

    12

    7

    Returns: 0

  66. 597473795

    12

    13

    Returns: 0

  67. 855680805

    19

    8

    Returns: 0

  68. 987916001

    1

    7

    Returns: 0

  69. 995746504

    8

    16

    Returns: 0

  70. 95035236

    19

    3

    Returns: 0

  71. 632118226

    6

    17

    Returns: 0

  72. 426497722

    2

    6

    Returns: 0

  73. 528229349

    20

    12

    Returns: 0

  74. 495179468

    20

    3

    Returns: 0

  75. 403178593

    15

    17

    Returns: 0

  76. 549857533

    11

    14

    Returns: 0

  77. 274611091

    5

    1

    Returns: 0

  78. 695569666

    11

    15

    Returns: 0

  79. 708723826

    12

    11

    Returns: 0

  80. 645136679

    2

    18

    Returns: 0

  81. 713683430

    12

    14

    Returns: 0

  82. 207467411

    13

    19

    Returns: 0

  83. 116558540

    11

    4

    Returns: 0

  84. 37598751

    12

    10

    Returns: 0

  85. 552613906

    14

    10

    Returns: 0

  86. 813352610

    15

    14

    Returns: 0

  87. 795162365

    12

    13

    Returns: 0

  88. 650885241

    4

    19

    Returns: 0

  89. 432923613

    17

    3

    Returns: 0

  90. 737822405

    14

    4

    Returns: 0

  91. 346819615

    19

    14

    Returns: 0

  92. 734458802

    6

    20

    Returns: 0

  93. 226809675

    4

    19

    Returns: 0

  94. 117136576

    14

    5

    Returns: 0

  95. 13776769

    17

    10

    Returns: 0

  96. 558836438

    2

    4

    Returns: 0

  97. 79205764

    20

    14

    Returns: 0

  98. 133097978

    5

    11

    Returns: 0

  99. 391281106

    20

    2

    Returns: 0

  100. 436770843

    16

    17

    Returns: 0

  101. 992753252

    9

    9

    Returns: 0

  102. 16321074

    9

    15

    Returns: 0

  103. 500776160

    6

    10

    Returns: 0

  104. 702089957

    15

    8

    Returns: 0

  105. 8

    1

    2

    Returns: 1

  106. 24

    2

    2

    Returns: 1

  107. 16

    1

    3

    Returns: 1

  108. 96

    3

    3

    Returns: 2

  109. 17408

    10

    10

    Returns: 6

  110. 4

    1

    1

    Returns: 0

  111. 1000000

    20

    20

    Returns: 7

  112. 8

    20

    20

    Returns: 4

  113. 536870912

    20

    20

    Returns: 20

  114. 408

    20

    20

    Returns: 4

  115. 4

    8

    1

    Returns: 2

  116. 100

    5

    3

    Returns: 1

  117. 805306368

    20

    20

    Returns: 19

  118. 128

    1

    1

    Returns: 0

  119. 11

    3

    1

    Returns: 0

  120. 1000000000

    20

    20

    Returns: 0

  121. 36

    4

    2

    Returns: 1

  122. 3

    10

    10

    Returns: 1

  123. 239

    1

    1

    Returns: 0

  124. 33

    5

    10

    Returns: 0

  125. 3

    2

    2

    Returns: 1

  126. 1111111

    1

    1

    Returns: 0

  127. 1000

    20

    20

    Returns: 4

  128. 7952

    2

    2

    Returns: 0

  129. 20

    3

    1

    Returns: 0

  130. 999999999

    1

    1

    Returns: 0

  131. 939524096

    20

    10

    Returns: 18

  132. 268435456

    20

    20

    Returns: 20

  133. 4564

    20

    20

    Returns: 3

  134. 17408

    20

    20

    Returns: 11

  135. 696320000

    19

    17

    Returns: 6

  136. 174080000

    13

    15

    Returns: 0

  137. 157

    1

    1

    Returns: 0

  138. 5

    1

    1

    Returns: 0

  139. 8192

    8

    3

    Returns: 2

  140. 3

    1

    20

    Returns: 0

  141. 8543545

    20

    20

    Returns: 0

  142. 768

    6

    5

    Returns: 5

  143. 9

    2

    8

    Returns: 0

  144. 15

    20

    20

    Returns: 1

  145. 100

    1

    1

    Returns: 0

  146. 4096

    20

    20

    Returns: 13

  147. 3

    20

    1

    Returns: 1

  148. 16

    1

    2

    Returns: 0

  149. 99999997

    20

    20

    Returns: 0

  150. 3

    20

    20

    Returns: 1

  151. 16

    3

    1

    Returns: 0

  152. 10

    1

    2

    Returns: 0

  153. 2

    1

    1

    Returns: 1

  154. 20000000

    20

    20

    Returns: 4

  155. 314658888

    7

    5

    Returns: 0

  156. 2

    10

    10

    Returns: 2

  157. 564787

    15

    15

    Returns: 0

  158. 1048576

    20

    20

    Returns: 20

  159. 2048

    15

    5

    Returns: 12

  160. 2

    3

    3

    Returns: 2

  161. 268435456

    10

    10

    Returns: 10

  162. 15

    1

    1

    Returns: 0

  163. 256

    1

    4

    Returns: 1

  164. 131072

    4

    4

    Returns: 2

  165. 24018

    20

    20

    Returns: 2

  166. 10000

    20

    20

    Returns: 5

  167. 100000000

    20

    3

    Returns: 1

  168. 10

    3

    20

    Returns: 1

  169. 4194304

    20

    20

    Returns: 20

  170. 3

    1

    1

    Returns: 0

  171. 17416

    10

    10

    Returns: 0

  172. 24

    1

    3

    Returns: 0

  173. 123

    20

    20

    Returns: 1

  174. 16

    20

    20

    Returns: 5

  175. 12

    1

    2

    Returns: 0

  176. 10

    2

    6

    Returns: 0

  177. 12

    2

    2

    Returns: 1

  178. 2

    4

    6

    Returns: 2

  179. 87

    4

    6

    Returns: 0

  180. 32

    2

    5

    Returns: 2

  181. 5

    4

    6

    Returns: 1

  182. 7

    8

    9

    Returns: 1

  183. 48

    4

    2

    Returns: 2

  184. 10

    1

    20

    Returns: 0

  185. 24

    1

    1

    Returns: 0

  186. 4

    2

    3

    Returns: 2

  187. 17

    9

    19

    Returns: 1

  188. 56

    9

    2

    Returns: 4

  189. 24

    12

    1

    Returns: 2

  190. 1

    20

    20

    Returns: 1

  191. 3633

    5

    5

    Returns: 0

  192. 1

    8

    8

    Returns: 1

  193. 25553

    20

    19

    Returns: 1

  194. 20

    20

    20

    Returns: 3

  195. 200

    20

    20

    Returns: 4

  196. 1024

    3

    3

    Returns: 0

  197. 24

    2

    1

    Returns: 0

  198. 1024

    20

    20

    Returns: 11

  199. 24

    5

    3

    Returns: 4

  200. 1000000

    1

    1

    Returns: 0

  201. 16

    2

    1

    Returns: 0

  202. 1048576

    1

    5

    Returns: 1


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: