Problem Statement
- Each a[i] should be a number of the form 2^x[i] where x[i] is some positive integer. In other words, each a[i] is one of the numbers 2, 4, 8, 16, ...
- For each i, the value a[i]^b[i] (that is, a[i] to the power b[i]) should be divisible by P, where P is the product of all a[i].
Definition
- Class:
- DivisibleSetDiv2
- Method:
- isPossible
- Parameters:
- int[]
- Returns:
- String
- Method signature:
- String isPossible(int[] b)
- (be sure your method is public)
Constraints
- b will contain between 1 and 50 elements, inclusive.
- Each element in b will be between 1 and 10, inclusive.
Examples
{3,2}
Returns: "Possible"
One valid sequence is the sequence {2, 2}. That is, a[0] = a[1] = 2. Clearly, each a[i] is a power of two not smaller than 2. The product of all a[i] is 2*2 = 4. Both a[0]^b[0] = 2^3 = 8 and a[1]^b[1] = 2^2 = 4 are divisible by 4.
{3,3,3}
Returns: "Possible"
Here, one valid sequence is {2, 2, 2}.
{1,10}
Returns: "Impossible"
Suppose that a[0] = x and a[1] = y. The value a[0]^b[0] = x^1 should be divisible by x*y. This is only possible for y = 1. However, 1 is not a positive power of two, so we cannot have a[1] = 1.
{5,3,9,7}
Returns: "Possible"
{1}
Returns: "Possible"
{7,10,2,7,9}
Returns: "Possible"
{10,7,7,3,8,9}
Returns: "Possible"
{1}
Returns: "Possible"
{8,8,4,2}
Returns: "Possible"
{2,8,3}
Returns: "Possible"
{4,3,3}
Returns: "Possible"
{9,9,6,3,9,7}
Returns: "Possible"
{9,5,8,3,9,10}
Returns: "Possible"
{7,6,10,8,9,10,7,9}
Returns: "Possible"
{3,9,10,10,3}
Returns: "Possible"
{9,7,7,4,3}
Returns: "Possible"
{8,2,8,7,10}
Returns: "Possible"
{10,3,3,7}
Returns: "Possible"
{6,3,10,8,5}
Returns: "Possible"
{10,5,7,5,9,5}
Returns: "Possible"
{8,9,9,2,9}
Returns: "Possible"
{1}
Returns: "Possible"
{9,3,5,3}
Returns: "Possible"
{5,4,9,9,7,6}
Returns: "Possible"
{2,10,3}
Returns: "Possible"
{6,3,3,9}
Returns: "Possible"
{1}
Returns: "Possible"
{2, 3, 10}
Returns: "Possible"
One valid sequence is {8, 4, 2}.
{4,8,9,3,9}
Returns: "Possible"
{9,6,6,2}
Returns: "Possible"
{8,8,9,7,3,7}
Returns: "Possible"
{7,10,4,6,3}
Returns: "Possible"
{2,2}
Returns: "Possible"
{6,9,8,9,10,8,5}
Returns: "Possible"
{10,10,10,10,10,10,10,10,10,10}
Returns: "Possible"
{10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}
Returns: "Impossible"
{7,7,7,7,7,7,7}
Returns: "Possible"
{1}
Returns: "Possible"
{7,6}
Returns: "Possible"
{6,9,3,9}
Returns: "Possible"
{3,2,1,7,7,10}
Returns: "Impossible"
{8,3,8,6,7,5,8,1}
Returns: "Impossible"
{9,1,3,6,9,3,9,9,6,9}
Returns: "Impossible"
{2,5,6,7,8,4,7,10,5,2,2,7,9,8,3,1,9,1,8,4,3,8,4,6,4,1,8,7,7,9,9,6}
Returns: "Impossible"
{4,6,7,7,3,5,5,1,5,3,4,9,2,10,7,10,4,6,9,9,4,8,3,1,6,9,2,7,1,2,6,1,6,1,4,4}
Returns: "Impossible"
{1,1,5,7,8,4,5,2,7,1,6,9,7,9,4,3,9,3,6,6,2,7,10,5,1,4,5,6,8,3,3,9,2,6,6,2,4,10}
Returns: "Impossible"
{7,6,2,7,3,6,7,8,1,6,9,10,5,2,10,9,4,3,9,2,2,2,2,1,5,5,7,2,10,5,2,1,5,4,8,3,5,3,6,2}
Returns: "Impossible"
{3,3,9,7,3,6,9,8,5,7,2,5,5,7,10,2,5,10,3,4,7,1,4,1,1,9,3,2,7,1,5,1,9,4,3,5,2,4,1,7,10,5}
Returns: "Impossible"
{8,4,4,7,10,4,8,9,6,2,7,4,2,2,10,5,9,9,2,3,7,6,1,1,10,1,8,7,3,1,3,7,9,3,10,5,7,2,1,7,2,6,4,5}
Returns: "Impossible"
{10,4,9,10,9,10,10,10,5,7,3,8,7,4,9,8,3,10,8,5,3,1,1,6,9,6,2,5,9,10,2,3,8,10,6,2,1,7,2,6,2,9,4,10,6,1}
Returns: "Impossible"
{3,9,9,8,7,6,9,2,8,9,9,5,6,3,2,3,3,9,1,5,4,6,3,6,3,8,3,8,8,7,7,3,4,1,7,3,6,9,8,10,4,8,9,1,6,1,2,4}
Returns: "Impossible"
{8,6,4,9,7,1,7,8,4,3,1,2,1,2,6,1,5,9,1,9,8,7,4,10,8,3,8,9,9,2,3,6,7,2,6,9,6,3,2,6,4,7,6,5,4,8,1,10,8,6}
Returns: "Impossible"
{4,4,2}
Returns: "Possible"
{2,3,6}
Returns: "Possible"
{3,3,6,6}
Returns: "Possible"
{3,6,3,6}
Returns: "Possible"
{10,5,2,5}
Returns: "Possible"
{3, 3, 3, 3}
Returns: "Impossible"
{7,7,7,7,7,7,7}
Returns: "Possible"
{9,9,9,9,9,9,9,9,9}
Returns: "Possible"
{9,3,3,9,9}
Returns: "Possible"
{1}
Returns: "Possible"
{2,2}
Returns: "Possible"
{2,3,6}
Returns: "Possible"
{2,4,4}
Returns: "Possible"
{2,4,8,8}
Returns: "Possible"
{2,5,5,10}
Returns: "Possible"
{2,5,10,10,10}
Returns: "Possible"
{2,6,6,6}
Returns: "Possible"
{2,6,8,9,10}
Returns: "Impossible"
{2,6,9,9,9}
Returns: "Possible"
{2,8,8,8,8}
Returns: "Possible"
{2,10,10,10,10,10}
Returns: "Possible"
{3,3,3}
Returns: "Possible"
{3,3,6,6}
Returns: "Possible"
{3,3,8,9,10}
Returns: "Impossible"
{3,3,9,9,9}
Returns: "Possible"
{3,4,4,6}
Returns: "Possible"
{3,4,6,8,8}
Returns: "Possible"
{3,5,5,6,10}
Returns: "Possible"
{3,5,5,7,8}
Returns: "Impossible"
{3,5,6,10,10,10}
Returns: "Possible"
{3,5,7,8,10,10}
Returns: "Impossible"
{3,5,7,9,9,10}
Returns: "Possible"
{3,6,6,6,6}
Returns: "Possible"
{3,6,6,8,9,10}
Returns: "Impossible"
{3,6,6,9,9,9}
Returns: "Possible"
{3,6,8,8,8,8}
Returns: "Possible"
{3,7,7,7,8,9}
Returns: "Possible"
{4,4,4,4}
Returns: "Possible"
{4,4,4,8,8}
Returns: "Possible"
{4,4,5,5,10}
Returns: "Possible"
{4,4,5,10,10,10}
Returns: "Possible"
{4,4,6,6,6}
Returns: "Possible"
{4,4,6,8,9,10}
Returns: "Impossible"
{4,4,6,9,9,9}
Returns: "Possible"
{4,4,8,8,8,8}
Returns: "Possible"
{4,5,5,8,8,10}
Returns: "Possible"
{4,5,5,8,9,9}
Returns: "Possible"
{4,5,6,7,7,10}
Returns: "Impossible"
{4,6,6,6,8,8}
Returns: "Possible"
{5,5,5,5,5}
Returns: "Possible"
{5,5,5,5,10,10}
Returns: "Possible"
{5,5,5,6,8,9}
Returns: "Impossible"
{5,5,6,6,6,10}
Returns: "Possible"
{5,5,6,6,7,8}
Returns: "Impossible"
{6,6,6,6,6,6}
Returns: "Possible"
{3,4,5,6,7}
Returns: "Impossible"
{3, 4, 5, 6, 7 }
Returns: "Impossible"
{2, 2 }
Returns: "Possible"
{9, 9, 9, 9, 9, 9, 9, 9, 9 }
Returns: "Possible"
{1, 10 }
Returns: "Impossible"
{1 }
Returns: "Possible"
{7, 10, 4, 6, 3 }
Returns: "Possible"
{2, 3, 10 }
Returns: "Possible"
{1, 1 }
Returns: "Impossible"
{1, 2, 2, 9 }
Returns: "Impossible"
{10, 10 }
Returns: "Possible"
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }
Returns: "Impossible"
{3, 4, 5 }
Returns: "Possible"
{4, 4, 3, 3, 3 }
Returns: "Impossible"
{2, 2, 10 }
Returns: "Impossible"