Statistics

Problem Statement for "TheLuckySum"

Problem Statement

John thinks 4 and 7 are lucky digits, and all other digits are not lucky. A lucky number is a number that contains only lucky digits in decimal notation.

Some numbers can be represented as a sum of only lucky numbers. Given an int n, return a int[] whose elements sum to exactly n. Each element of the int[] must be a lucky number. If there are multiple solutions, only consider those that contain the minimum possible number of elements, and return the one among those that comes earliest lexicographically. A int[] a1 comes before a int[] a2 lexicographically if a1 contains a smaller number at the first position where they differ. If n cannot be represented as a sum of lucky numbers, return an empty int[] instead.

Definition

Class:
TheLuckySum
Method:
sum
Parameters:
int
Returns:
int[]
Method signature:
int[] sum(int n)
(be sure your method is public)

Constraints

  • n will be between 1 and 1,000,000,000, inclusive.

Examples

  1. 11

    Returns: {4, 7 }

    It is simple: 11 = 4 + 7.

  2. 12

    Returns: {4, 4, 4 }

    Now we need three summands to get 12.

  3. 13

    Returns: { }

    And now we can not get 13 at all.

  4. 100

    Returns: {4, 4, 4, 44, 44 }

  5. 1000000000

    Returns: {4, 4, 44444444, 477777774, 477777774 }

  6. 48

    Returns: {4, 44 }

  7. 1

    Returns: { }

  8. 57

    Returns: {4, 4, 7, 7, 7, 7, 7, 7, 7 }

  9. 25

    Returns: {4, 7, 7, 7 }

  10. 69

    Returns: {4, 4, 7, 7, 47 }

  11. 3603

    Returns: {444, 444, 444, 747, 747, 777 }

  12. 3456

    Returns: {444, 744, 744, 747, 777 }

  13. 3812

    Returns: {47, 747, 747, 747, 747, 777 }

  14. 3580

    Returns: {4, 474, 774, 774, 777, 777 }

  15. 3824

    Returns: {44, 744, 744, 744, 774, 774 }

  16. 957147

    Returns: {4, 4, 444, 4444, 474474, 477777 }

  17. 951000

    Returns: {444, 444, 444, 444, 474447, 474777 }

  18. 913356

    Returns: {74, 4474, 44477, 44777, 44777, 774777 }

  19. 971124

    Returns: {4, 44, 4444, 44444, 444444, 477744 }

  20. 998368

    Returns: {44, 44, 444, 4444, 44444, 474474, 474474 }

  21. 1

    Returns: { }

  22. 2

    Returns: { }

  23. 3

    Returns: { }

  24. 4

    Returns: {4 }

  25. 5

    Returns: { }

  26. 6

    Returns: { }

  27. 7

    Returns: {7 }

  28. 8

    Returns: {4, 4 }

  29. 9

    Returns: { }

  30. 10

    Returns: { }

  31. 17

    Returns: { }

  32. 18

    Returns: {4, 7, 7 }

  33. 19

    Returns: {4, 4, 4, 7 }

  34. 20

    Returns: {4, 4, 4, 4, 4 }

  35. 21

    Returns: {7, 7, 7 }

  36. 996199

    Returns: {4, 4, 44, 4474, 4474, 44474, 47474, 447474, 447777 }

  37. 744399

    Returns: {4, 4, 44, 474, 44774, 74774, 74774, 74774, 474777 }

  38. 774099

    Returns: {4, 4, 44, 474, 74474, 74774, 74774, 74774, 474777 }

  39. 774169

    Returns: {4, 4, 444, 444, 74474, 74474, 74774, 74774, 474777 }

  40. 774199

    Returns: {4, 4, 444, 474, 74474, 74474, 74774, 74774, 474777 }

  41. 813199

    Returns: {4, 4, 44, 4474, 4474, 4474, 4474, 47474, 747777 }

  42. 813499

    Returns: {4, 4, 44, 4474, 4474, 4474, 4474, 47774, 747777 }

  43. 813799

    Returns: {4, 4, 44, 4474, 4474, 4474, 4774, 47774, 747777 }

  44. 813829

    Returns: {4, 4, 74, 4474, 4474, 4474, 4774, 47774, 747777 }

  45. 813859

    Returns: {4, 444, 444, 4444, 4444, 4444, 4444, 47444, 747747 }

  46. 813869

    Returns: {4, 4, 444, 4444, 4474, 4474, 4474, 47774, 747777 }

  47. 813899

    Returns: {4, 4, 444, 4474, 4474, 4474, 4474, 47774, 747777 }

  48. 814099

    Returns: {4, 4, 44, 4474, 4474, 4774, 4774, 47774, 747777 }

  49. 814169

    Returns: {4, 4, 444, 4444, 4474, 4474, 4774, 47774, 747777 }

  50. 814199

    Returns: {4, 4, 444, 4474, 4474, 4474, 4774, 47774, 747777 }

  51. 814499

    Returns: {4, 4, 44, 74, 4474, 7474, 7474, 47474, 747477 }

  52. 816199

    Returns: {4, 4, 44, 4474, 4474, 4474, 7474, 47474, 747777 }

  53. 816499

    Returns: {4, 4, 44, 4474, 4474, 4474, 7474, 47774, 747777 }

  54. 816899

    Returns: {4, 4, 44, 44474, 74474, 74474, 74474, 74474, 474477 }

  55. 817199

    Returns: {4, 4, 44, 44474, 74474, 74474, 74474, 74474, 474777 }

  56. 817499

    Returns: {4, 4, 44, 74, 7474, 7474, 7474, 47474, 747477 }

  57. 993199

    Returns: {4, 4, 44, 4474, 4474, 44474, 44474, 447474, 447777 }

  58. 900757147

    Returns: {4474, 44474, 444474, 4744474, 447744474, 447774777 }

  59. 967851000

    Returns: {444, 444, 4447444, 44447444, 444477447, 474477777 }

  60. 901413356

    Returns: {74, 4474, 4444477, 4444777, 444744777, 447774777 }

  61. 936971124

    Returns: {4, 44, 4444, 44444444, 444744444, 447777744 }

  62. 959598368

    Returns: {444, 444444, 444444, 4444744, 4744744, 474744774, 474774774 }

  63. 960567225

    Returns: {4, 74, 44474, 444474, 444474, 4444474, 477444474, 477744777 }

  64. 991749387

    Returns: {44, 744, 74744, 4474747, 44474777, 47474777, 447474777, 447774777 }

  65. 904890851

    Returns: {44, 444, 4444, 444444, 4444444, 4444477, 447774777, 447777777 }

  66. 935766290

    Returns: {444, 744744, 747774, 44747774, 444747777, 444777777 }

  67. 926239572

    Returns: {47, 47, 47, 744477, 447747477, 477747477 }

  68. 918744469

    Returns: {4, 4, 4444, 4444, 744474, 44747774, 47747774, 47747774, 777747777 }

  69. 907001919

    Returns: {4, 4, 444, 4444744, 4444744, 4444744, 4444744, 444444744, 444777747 }

  70. 741380025

    Returns: {4, 4, 744444, 44747444, 44777444, 47777444, 47777747, 77777747, 477777747 }

  71. 740856025

    Returns: {4, 4744, 4444744, 44447744, 44447744, 44477744, 47477747, 77777777, 477777777 }

  72. 738138369

    Returns: {4, 4, 474744, 44774744, 44777774, 44777774, 47777774, 77777774, 477777777 }

  73. 735466469

    Returns: {4, 4, 444, 7477444, 47477474, 47477774, 77477774, 77777774, 477777777 }

  74. 734726629

    Returns: {4, 4, 44474, 7444474, 47447474, 47447474, 77447474, 77447474, 477447777 }

  75. 731643649

    Returns: {4, 4, 7444, 44747444, 44777744, 44777744, 44777744, 74777744, 477777777 }

  76. 726508549

    Returns: {4, 444, 4444, 744444, 44744444, 47744444, 77744774, 77747774, 477777777 }

  77. 699603829

    Returns: {4, 4, 74, 444474, 444474, 74444474, 74744774, 74747774, 474777777 }

  78. 693953619

    Returns: {4, 4, 7444, 4447444, 44447744, 44747744, 44747744, 77777744, 477777747 }

  79. 676711969

    Returns: {4, 44, 74, 4444474, 4447474, 44447474, 74447474, 74447474, 474477477 }

  80. 663488634

    Returns: {4, 44444, 444444, 4444447, 44444447, 44444447, 44444447, 47444477, 477777477 }

  81. 659694889

    Returns: {4, 444, 4444, 444444, 44444444, 44474444, 44774444, 47774444, 477777777 }

  82. 444399969

    Returns: {4, 4444, 7744474, 47774474, 77774474, 77774774, 77774774, 77774774, 77777777 }

  83. 444399959

    Returns: {4, 744, 7744744, 47774744, 77774744, 77774744, 77774744, 77777744, 77777747 }

  84. 444399949

    Returns: {4, 7444, 44447444, 44447444, 44447444, 77747444, 77747474, 77777474, 77777777 }

  85. 444399946

    Returns: {4, 7444, 44447444, 44447444, 44447444, 77747444, 77747474, 77777474, 77777774 }

  86. 444399943

    Returns: {7, 7447, 44447447, 44447447, 44447447, 77747447, 77747447, 77777477, 77777777 }

  87. 822222221

    Returns: {44444444, 777777777 }

  88. 777777777

    Returns: {777777777 }

  89. 747474747

    Returns: {747474747 }

  90. 444444444

    Returns: {444444444 }

  91. 956843912

    Returns: {4, 444477, 4444477, 474477477, 477477477 }

  92. 716346658

    Returns: {44, 447744, 44447774, 44447774, 74447774, 74777774, 477777774 }

  93. 999996199

    Returns: {4, 4, 44, 4474, 4474, 44474, 44447474, 477747474, 477747777 }

  94. 999999994

    Returns: {44444444, 44444444, 44444444, 44444444, 44444444, 777777774 }

  95. 267777788

    Returns: {44444447, 74444447, 74444447, 74444447 }

  96. 6078040

    Returns: {4, 44744, 477744, 777774, 4777774 }

  97. 432338566

    Returns: {447, 4447, 44444447, 77444447, 77444447, 77444777, 77777777, 77777777 }

  98. 444444446

    Returns: {44444444, 44444447, 44444447, 77777777, 77777777, 77777777, 77777777 }

  99. 188888887

    Returns: {4, 4444444, 44444444, 44444444, 47777774, 47777777 }

  100. 85840

    Returns: {4, 444, 444, 7474, 77474 }

  101. 987897888

    Returns: {4, 4, 447444, 44447444, 47447444, 447777774, 447777774 }

  102. 987564321

    Returns: {4, 4, 444444, 44447444, 47447474, 447447474, 447777477 }

  103. 146664

    Returns: {4444, 4444, 4444, 44444, 44444, 44444 }


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: