Problem Statement
Each of the digits 0 through 9 has a value that is in {0, 1, 2}. At least one of the digits has value 0. These values are given: the value of digit x is base[x].
For any bigger positive integer n, the value of n is one greater than the value of p(n), where p is the product of digits of n.
You are given the number goal. Return the smallest nonnegative integer with value goal. You may assume that for any valid input the output value exists and does not exceed 10^18.
Definition
- Class:
- ReProduct
- Method:
- minimize
- Parameters:
- int[], int
- Returns:
- long
- Method signature:
- long minimize(int[] base, int goal)
- (be sure your method is public)
Constraints
- base will contain exactly 10 elements.
- Each element in base will be between 0 and 2, inclusive.
- The smallest element in base will be 0.
- goal will be between 0 and 11, inclusive.
Examples
{0,1,1,1,1,1,1,1,1,1}
2
Returns: 11
As given, the number 0 has value 0. As given, each of the numbers 1-9 has value 1. The number 10 has value 1 (because the number 1*0 = 0 has value 0). The number 11 has value 2 (because the number 1*1 = 1 has value 1). Thus, 11 is the smallest number with value 2.
{0,0,0,0,0,0,0,0,0,0}
3
Returns: 39
We have value(39) = 1 + value(27) = 2 + value(14) = 3 + value(4) = 3, and no smaller number has value 3.
{2,0,0,0,0,0,0,0,0,0}
2
Returns: 0
{2,2,2,2,2,2,2,2,0,2}
1
Returns: 18
{2,1,2,2,1,1,1,0,1,0}
6
Returns: 268
{0,0,0,0,0,0,0,0,0,0}
2
Returns: 25
{2,1,1,1,0,1,1,1,1,1}
1
Returns: 1
{0,1,1,1,1,1,1,1,1,1}
6
Returns: 679
{1,1,1,1,0,1,1,1,1,1}
7
Returns: 6788
{2,2,2,2,0,2,2,2,2,2}
10
Returns: 2677889
{0,2,0,1,2,1,0,1,2,2}
1
Returns: 3
{0,1,2,2,2,1,1,0,0,1}
4
Returns: 26
{1,0,1,2,1,2,1,1,2,1}
6
Returns: 77
{2,0,1,2,0,2,1,1,0,1}
6
Returns: 268
{0,2,2,2,2,2,2,2,2,2}
1
Returns: 10
{0,0,0,0,0,0,0,0,0,0}
1
Returns: 10
{2,1,1,1,0,1,1,1,1,1}
11
Returns: 26888999
{0,1,1,1,1,1,1,1,1,1}
11
Returns: 277777788888899
{2,2,2,2,0,2,2,2,2,2}
0
Returns: 4
{1,1,1,1,0,1,1,1,1,1}
4
Returns: 47
{1,1,1,1,0,1,2,1,1,1}
4
Returns: 28
{1,1,1,1,0,1,2,1,1,1}
9
Returns: 2677889
{1,1,2,1,1,2,2,0,2,0}
10
Returns: 26888999
{0,0,0,0,0,0,0,0,0,0}
11
Returns: 277777788888899
{0,0,1,2,0,2,1,2,2,1}
6
Returns: 77
{0,1,0,1,2,2,1,2,2,2}
10
Returns: 3778888999
{0,2,2,2,2,2,2,2,2,2}
4
Returns: 26
{2,1,1,1,0,1,1,1,1,1}
6
Returns: 268
{2,1,2,1,0,2,1,1,2,2}
0
Returns: 4
{0,1,1,1,1,1,1,1,1,1}
8
Returns: 2677889
{2,2,2,2,0,2,2,2,2,2}
3
Returns: 10
{1,1,1,1,0,1,1,1,1,1}
1
Returns: 0
{1,1,1,1,0,1,2,1,1,1}
7
Returns: 679
{0,2,2,2,2,2,2,2,2,2}
10
Returns: 3778888999
{0,0,0,0,0,0,0,0,0,0}
6
Returns: 6788
{0,2,2,2,2,2,2,2,2,2}
7
Returns: 679
{2,1,1,1,0,1,1,1,1,1}
5
Returns: 55
{0,1,1,1,1,1,1,1,1,1}
2
Returns: 11
{0,1,1,0,0,1,0,2,1,0}
9
Returns: 26888999
{1,1,1,1,0,1,1,1,1,1}
11
Returns: 3778888999
{2,2,0,2,2,1,0,0,2,0}
9
Returns: 68889
{1,0,0,0,1,0,2,1,0,2}
11
Returns: 3778888999
{1,1,1,1,0,1,2,1,1,1}
2
Returns: 6
{2,2,2,2,0,2,2,2,2,2}
6
Returns: 77
{0,1,1,1,1,1,0,2,2,2}
11
Returns: 277777788888899
{0,0,0,0,0,0,0,0,0,0}
5
Returns: 679
{2,0,1,2,0,0,0,1,1,2}
8
Returns: 6788
{2,1,1,1,0,1,1,1,1,1}
0
Returns: 4
{0,1,1,1,1,1,1,1,1,1}
7
Returns: 68889
{2,2,1,0,1,2,1,2,2,0}
11
Returns: 26888999
{0,1,2,1,0,0,2,2,1,1}
3
Returns: 12
{1,1,1,1,0,1,1,1,1,1}
8
Returns: 68889
{2,2,2,2,0,2,2,2,2,2}
9
Returns: 68889
{2,0,2,1,0,2,1,0,0,0}
8
Returns: 6788
{0,0,0,0,2,1,1,0,1,1}
8
Returns: 2677889
{1,1,1,1,0,2,2,2,1,1}
8
Returns: 68889
{0,2,2,2,2,2,2,2,2,2}
0
Returns: 0
{0,0,0,0,0,0,0,0,0,0}
0
Returns: 0
{2,1,1,1,0,1,1,1,1,1}
10
Returns: 2677889
{1,0,0,1,0,2,1,0,1,2}
1
Returns: 0
{0,1,1,1,1,1,1,1,1,1}
4
Returns: 39
{1,1,1,1,0,1,1,1,1,1}
5
Returns: 77
{2,1,2,2,0,0,0,2,0,2}
7
Returns: 688
{1,1,1,1,0,1,2,1,1,1}
8
Returns: 68889
{0,0,0,2,1,2,0,2,0,2}
0
Returns: 0
{0,0,0,0,0,0,0,0,0,0}
10
Returns: 3778888999
{0,2,1,2,2,1,2,1,2,2}
3
Returns: 11
{0,2,2,2,2,2,2,2,2,2}
3
Returns: 11
{0,2,0,1,2,0,1,2,0,1}
9
Returns: 26888999
{2,1,1,1,0,1,1,1,1,1}
9
Returns: 68889
{2,0,2,2,2,2,1,2,2,1}
9
Returns: 68889
{0,2,0,2,1,0,1,1,2,1}
10
Returns: 3778888999
{0,1,1,1,1,1,1,1,1,1}
9
Returns: 26888999
{2,0,2,2,1,2,2,0,2,1}
5
Returns: 47
{0,1,1,1,2,2,0,1,0,0}
8
Returns: 2677889
{2,2,2,2,0,2,2,2,2,2}
2
Returns: 0
{1,1,1,1,0,1,1,1,1,1}
2
Returns: 10
{1,1,1,1,0,1,2,1,1,1}
6
Returns: 377
{1,1,2,0,1,1,0,0,2,1}
5
Returns: 49
{1,1,1,1,0,1,2,1,1,1}
11
Returns: 3778888999
{0,2,2,2,2,2,2,2,2,2}
9
Returns: 26888999
{0,0,0,0,0,0,0,0,0,0}
9
Returns: 26888999
{1,2,0,2,1,0,0,1,1,2}
1
Returns: 0
{0,2,2,2,2,2,2,2,2,2}
6
Returns: 77
{2,1,1,1,0,1,1,1,1,1}
4
Returns: 25
{0,1,1,1,1,1,1,1,1,1}
3
Returns: 26
{0,2,0,1,0,1,0,1,0,0}
2
Returns: 1
{0,2,0,0,1,1,2,0,0,1}
3
Returns: 11
{1,1,1,1,0,1,2,1,1,1}
1
Returns: 0
{2,2,2,2,0,2,2,2,2,2}
5
Returns: 47
{0,0,0,0,0,0,0,0,0,0}
4
Returns: 77
{0,2,0,2,1,0,1,2,1,1}
1
Returns: 4
{1,0,2,0,1,0,0,2,2,1}
0
Returns: 1
{2,1,1,1,0,1,1,1,1,1}
3
Returns: 10
{2,2,2,0,1,1,0,2,0,1}
5
Returns: 55
{0,1,1,1,1,1,1,1,1,1}
0
Returns: 0
{0,2,2,2,1,1,2,1,0,0}
0
Returns: 0
{0,0,2,0,0,0,0,0,2,0}
11
Returns: 277777788888899
{2,0,1,2,1,1,0,1,0,1}
10
Returns: 2677889
{0,2,0,0,1,0,1,2,1,2}
8
Returns: 2677889
{1,1,1,1,0,1,1,1,1,1}
9
Returns: 2677889
{2,2,2,2,0,2,2,2,2,2}
8
Returns: 6788
{1,1,1,1,2,0,0,2,1,0}
0
Returns: 5
{0,2,2,1,2,2,2,2,2,2}
7
Returns: 679
{1,0,2,1,2,0,2,2,1,0}
5
Returns: 39
{0,0,0,0,0,0,0,0,0,0}
3
Returns: 39
{1,2,1,2,0,0,1,1,0,1}
0
Returns: 4
{1,0,2,0,2,1,0,1,2,0}
6
Returns: 77
{0,0,0,0,1,1,0,1,0,0}
9
Returns: 26888999
{0,1,1,1,1,1,1,1,1,1}
5
Returns: 77
{0,0,0,2,2,1,2,1,0,1}
7
Returns: 679
{1,1,1,1,0,1,1,1,1,1}
6
Returns: 679
{2,2,2,2,0,2,2,2,2,2}
11
Returns: 26888999
{2,2,0,1,1,0,1,0,1,2}
1
Returns: 3
{0,2,2,2,2,2,2,2,2,2}
2
Returns: 1
{2,1,1,1,0,1,1,1,1,1}
8
Returns: 6788
{1,0,1,1,0,0,1,0,1,1}
8
Returns: 68889
{2,0,2,1,1,1,2,0,1,2}
8
Returns: 6788
{0,1,1,1,1,1,1,1,1,1}
10
Returns: 3778888999
{2,2,2,2,0,2,2,2,2,2}
1
Returns: 14
{1,1,1,1,0,1,1,1,1,1}
3
Returns: 25
{1,1,1,1,0,1,2,1,1,1}
5
Returns: 47
{1,1,2,1,2,1,1,0,1,0}
2
Returns: 2
{1,1,1,1,0,1,2,1,1,1}
10
Returns: 26888999
{2,0,2,1,1,1,2,2,2,2}
11
Returns: 26888999
{0,2,2,2,2,2,2,2,2,2}
8
Returns: 888899
{0,0,0,0,0,0,0,0,0,0}
8
Returns: 2677889
{0,1,1,2,0,1,0,2,1,1}
11
Returns: 277777788888899
{0,2,2,2,2,2,2,2,2,2}
5
Returns: 39
{2,1,1,1,0,1,1,1,1,1}
7
Returns: 688
{2,0,2,2,0,2,1,2,1,2}
9
Returns: 68889
{1,1,1,1,0,1,2,1,1,1}
0
Returns: 4
{1,1,1,1,0,1,1,1,1,1}
0
Returns: 4
{2,2,2,2,0,2,2,2,2,2}
4
Returns: 25
{2,0,0,1,2,2,2,1,1,1}
0
Returns: 1
{0,2,2,2,2,2,2,2,2,2}
11
Returns: 277777788888899
{0,0,0,0,0,0,0,0,0,0}
7
Returns: 68889
{1,1,2,0,2,2,0,0,2,1}
6
Returns: 77
{2,1,1,1,0,1,1,1,1,1}
2
Returns: 0
{0,1,1,1,1,1,1,1,1,1}
1
Returns: 1
{1,1,1,1,0,1,1,1,1,1}
10
Returns: 26888999
{2,0,0,1,1,1,1,2,1,2}
2
Returns: 0
{1,2,1,0,0,2,2,1,1,0}
5
Returns: 47
{1,1,1,1,0,1,2,1,1,1}
3
Returns: 16
{2,2,2,2,0,2,2,2,2,2}
7
Returns: 679
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
11
Returns: 277777788888899
{1, 0, 2, 2, 2, 2, 2, 2, 2, 2 }
11
Returns: 3778888999
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1
Returns: 10
{0, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
1
Returns: 10
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
3
Returns: 10
{0, 2, 0, 0, 0, 0, 0, 0, 0, 0 }
1
Returns: 10
{0, 0, 2, 2, 2, 2, 2, 2, 2, 2 }
11
Returns: 277777788888899
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
2
Returns: 25
{0, 2, 0, 0, 0, 1, 0, 2, 2, 1 }
10
Returns: 3778888999
{0, 1, 0, 0, 1, 0, 1, 1, 0, 2 }
3
Returns: 19