Statistics

Problem Statement for "TheSumOfLuckyNumbers"

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:
TheSumOfLuckyNumbers
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, 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. 1000000

    Returns: {4, 4, 44444, 477774, 477774 }

  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. 999997

    Returns: {44444, 44444, 44444, 44444, 44444, 777777 }

  59. 999962

    Returns: {44444, 477744, 477774 }

  60. 777776

    Returns: {74, 74, 74, 77, 777477 }

  61. 77863

    Returns: {4, 4, 4, 74, 77777 }

  62. 44444

    Returns: {44444 }

  63. 895

    Returns: {4, 444, 447 }

  64. 999999

    Returns: {4, 44444, 477774, 477777 }

  65. 984576

    Returns: {74, 44474, 44474, 447777, 447777 }

  66. 987654

    Returns: {44, 444, 44444, 47474, 447474, 447774 }

  67. 989564

    Returns: {444, 4444, 44444, 44744, 447744, 447744 }

  68. 999998

    Returns: {44444, 477777, 477777 }

  69. 999897

    Returns: {44, 44, 444, 44444, 477444, 477477 }

  70. 154841

    Returns: {44, 44, 44, 444, 4744, 74744, 74777 }

  71. 888888

    Returns: {444444, 444444 }

  72. 99991

    Returns: {4, 4, 4, 44, 4444, 47744, 47747 }

  73. 121

    Returns: {44, 77 }

  74. 959791

    Returns: {4, 4, 4, 444, 4444, 477444, 477447 }

  75. 78

    Returns: {4, 74 }


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: