Statistics

Problem Statement for "SummingArithmeticProgressions"

Problem Statement

A magic arithmetic progression with k elements is a sequence of the form x, x+d, x+2*d, ..., x+(k-1)*d for some positive integers x and d. How many integers between left and right, inclusive, can be represented as the sum of some magic arithmetic progression with exactly k elements?

Definition

Class:
SummingArithmeticProgressions
Method:
howMany
Parameters:
int, int, int
Returns:
int
Method signature:
int howMany(int left, int right, int k)
(be sure your method is public)

Constraints

  • left will be between 1 and 1000000000, inclusive.
  • right will be between left and 1000000000, inclusive.
  • k will be between 2 and 5, inclusive.

Examples

  1. 1

    12

    3

    Returns: 3

    The representable numbers are: 6=1+2+3, 9=2+3+4=1+3+5, 12=3+4+5=2+4+6=1+4+7. Note that there can be several possible representations for a number.

  2. 1

    10

    2

    Returns: 8

    Every number except 1 and 2 is representable: 3=1+2, 4=1+3, 5=1+4, etc.

  3. 20

    30

    4

    Returns: 6

    The representable numbers are 20, 22, 24, 26, 28 and 30.

  4. 1

    9

    4

    Returns: 0

    The minimal possible sum is 1+2+3+4=10.

  5. 1

    13

    4

    Returns: 1

    And the next possible sum is 2+3+4+5=14.

  6. 1

    1

    2

    Returns: 0

  7. 1

    2

    2

    Returns: 0

  8. 1

    3

    2

    Returns: 1

  9. 1

    4

    2

    Returns: 2

  10. 1

    5

    2

    Returns: 3

  11. 1

    6

    2

    Returns: 4

  12. 1

    1

    3

    Returns: 0

  13. 1

    2

    3

    Returns: 0

  14. 1

    3

    3

    Returns: 0

  15. 1

    4

    3

    Returns: 0

  16. 1

    5

    3

    Returns: 0

  17. 1

    6

    3

    Returns: 1

  18. 1

    7

    3

    Returns: 1

  19. 1

    8

    3

    Returns: 1

  20. 1

    9

    3

    Returns: 2

  21. 1

    10

    3

    Returns: 2

  22. 1

    11

    3

    Returns: 2

  23. 1

    12

    3

    Returns: 3

  24. 1

    10

    4

    Returns: 1

  25. 1

    11

    4

    Returns: 1

  26. 1

    12

    4

    Returns: 1

  27. 1

    13

    4

    Returns: 1

  28. 1

    14

    4

    Returns: 2

  29. 1

    15

    4

    Returns: 2

  30. 1

    16

    4

    Returns: 3

  31. 1

    17

    4

    Returns: 3

  32. 1

    18

    4

    Returns: 4

  33. 1

    19

    4

    Returns: 4

  34. 1

    10

    5

    Returns: 0

  35. 1

    11

    5

    Returns: 0

  36. 1

    12

    5

    Returns: 0

  37. 1

    13

    5

    Returns: 0

  38. 1

    14

    5

    Returns: 0

  39. 1

    15

    5

    Returns: 1

  40. 1

    16

    5

    Returns: 1

  41. 1

    17

    5

    Returns: 1

  42. 1

    18

    5

    Returns: 1

  43. 1

    19

    5

    Returns: 1

  44. 1

    20

    5

    Returns: 2

  45. 1

    21

    5

    Returns: 2

  46. 1

    22

    5

    Returns: 2

  47. 1

    23

    5

    Returns: 2

  48. 1

    24

    5

    Returns: 2

  49. 1

    25

    5

    Returns: 3

  50. 1

    26

    5

    Returns: 3

  51. 1

    27

    5

    Returns: 3

  52. 1

    28

    5

    Returns: 3

  53. 1

    29

    5

    Returns: 3

  54. 1

    1000000000

    2

    Returns: 999999998

  55. 1

    1000000000

    3

    Returns: 333333332

  56. 1

    1000000000

    4

    Returns: 499999995

  57. 14

    14

    5

    Returns: 0

  58. 15

    15

    5

    Returns: 1

  59. 16

    16

    5

    Returns: 0

  60. 14

    14

    4

    Returns: 1

  61. 15

    15

    4

    Returns: 0

  62. 16

    16

    4

    Returns: 1

  63. 270050871

    477356599

    3

    Returns: 69101910

  64. 20

    382167388

    5

    Returns: 76433474

  65. 22

    859601633

    4

    Returns: 429800806

  66. 1

    626486333

    3

    Returns: 208828776

  67. 6

    10

    4

    Returns: 1

  68. 18

    19

    2

    Returns: 2

  69. 20

    26

    3

    Returns: 2

  70. 9

    21

    2

    Returns: 13

  71. 83775320

    103270600

    5

    Returns: 3899057

  72. 242548845

    246930528

    2

    Returns: 4381684

  73. 19

    23

    2

    Returns: 5

  74. 41014432

    72180459

    5

    Returns: 6233205

  75. 58155282

    180514283

    5

    Returns: 24471800

  76. 4

    6

    4

    Returns: 0

  77. 633034921

    805153700

    3

    Returns: 57372926

  78. 1

    2

    4

    Returns: 0

  79. 27

    833985333

    4

    Returns: 416992653

  80. 358476492

    634066638

    4

    Returns: 137795074

  81. 5

    701880154

    3

    Returns: 233960050

  82. 10

    250276212

    4

    Returns: 125138101

  83. 546195286

    656246848

    2

    Returns: 110051563

  84. 4

    16

    2

    Returns: 13

  85. 9

    676116746

    4

    Returns: 338058368

  86. 6

    478091737

    2

    Returns: 478091732

  87. 2

    4

    5

    Returns: 0

  88. 1

    3

    3

    Returns: 0

  89. 6

    13

    3

    Returns: 3

  90. 163039951

    457484471

    5

    Returns: 58888904

  91. 11

    21

    3

    Returns: 4

  92. 225235485

    313423339

    5

    Returns: 17637571

  93. 16

    184459498

    4

    Returns: 92229742

  94. 3

    25

    4

    Returns: 7

  95. 4

    21

    2

    Returns: 18

  96. 23

    861067741

    4

    Returns: 430533859

  97. 8

    10

    4

    Returns: 1

  98. 5

    582354858

    5

    Returns: 116470969

  99. 10

    11

    2

    Returns: 2

  100. 2

    844190775

    3

    Returns: 281396924

  101. 7

    12

    5

    Returns: 0

  102. 28

    32719632

    4

    Returns: 16359803

  103. 15

    15

    5

    Returns: 1

  104. 4

    403257863

    3

    Returns: 134419286

  105. 280275835

    608899014

    5

    Returns: 65724636

  106. 299704889

    595092880

    5

    Returns: 59077599

  107. 19

    63141083

    5

    Returns: 12628213

  108. 456585908

    817933056

    2

    Returns: 361347149

  109. 2

    7

    4

    Returns: 0

  110. 9117938

    214465231

    4

    Returns: 102673647

  111. 371052252

    528386374

    5

    Returns: 31466824

  112. 15

    302385366

    5

    Returns: 60477071

  113. 1

    100000

    4

    Returns: 49995

  114. 1

    999999999

    4

    Returns: 499999994

  115. 1

    999999999

    5

    Returns: 199999997

  116. 1

    1000000000

    5

    Returns: 199999998

  117. 10

    232323290

    4

    Returns: 116161640

  118. 20

    1000000000

    4

    Returns: 499999991

  119. 11

    1000000000

    4

    Returns: 499999994

  120. 1

    10000

    4

    Returns: 4995

  121. 98765

    100000000

    4

    Returns: 49950618

  122. 23

    1000000000

    3

    Returns: 333333326

  123. 1000000000

    1000000000

    5

    Returns: 1

  124. 10000320

    23121412

    5

    Returns: 2624219

  125. 1

    100000000

    4

    Returns: 49999995

  126. 7

    9

    3

    Returns: 1

  127. 12

    12

    4

    Returns: 0

  128. 1

    654

    4

    Returns: 322

  129. 1

    1

    4

    Returns: 0

  130. 100

    1000000000

    4

    Returns: 499999951

  131. 11

    13

    4

    Returns: 0

  132. 52

    52

    3

    Returns: 0

  133. 1

    10000

    5

    Returns: 1998

  134. 5

    5

    5

    Returns: 0

  135. 10

    10

    4

    Returns: 1

  136. 1

    100

    4

    Returns: 45

  137. 15

    17

    4

    Returns: 1

  138. 17

    19

    4

    Returns: 1

  139. 1

    30

    5

    Returns: 4

  140. 10

    20

    5

    Returns: 2

  141. 3

    5

    2

    Returns: 3

  142. 124

    123312541

    5

    Returns: 24662484

  143. 16

    17

    3

    Returns: 0

  144. 6

    6

    5

    Returns: 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: