TopcoderARCHIVE
Archive/Problems/TheLuckySum
SRM · Problem 8572

TheLuckySum

Problem statement, definition, constraints, and public examples.

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 }
← All problems