Problem Statement
Exactly a of these statements are true. Exactly b of these statements are true. Exactly c of these statements are true. . . .
Each of a, b, c and so on is a number. He then asks the class how many of the statements are true.
You will be given a
Definition
- Class:
- TrueStatements
- Method:
- numberTrue
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int numberTrue(int[] statements)
- (be sure your method is public)
Constraints
- statements will contain between 1 and 50 elements, inclusive.
- Each element of statements will be between 0 and 50, inclusive.
Examples
{0, 1, 2, 3}
Returns: 1
The 2nd statement is true (there is one true statement) and the others are false.
{0}
Returns: -1
This is the Epimedes paradox: if the statement is true then it claims to be false, but if it is false then it must be true.
{0, 3, 1, 3, 2, 3}
Returns: 3
One solution is that the 3rd statement is the only true statement. However, it is also possible that the 2nd, 4th and 6th statements are true (all of which say that 3 statements are true), and the largest solution must be returned.
{1, 1}
Returns: 0
{1}
Returns: 1
{2}
Returns: 0
{0, 1}
Returns: 1
{1, 0}
Returns: 1
{0, 2}
Returns: -1
{2, 0}
Returns: -1
{1, 2}
Returns: 1
{2, 2}
Returns: 2
{0, 0}
Returns: -1
{1, 1}
Returns: 0
{2, 2}
Returns: 2
{3, 3}
Returns: 0
{3, 3, 3, 3}
Returns: 0
{3, 3, 0}
Returns: -1
{2, 3, 0}
Returns: -1
{2, 0, 3}
Returns: -1
{3, 0, 49}
Returns: -1
{50}
Returns: 0
{1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10}
Returns: 9
{0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9}
Returns: -1
{1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10}
Returns: 9
{10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3}
Returns: 10
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2}
Returns: 0
{5, 3, 0, 5, 3, 5, 50, 5, 6, 3, 5, 6}
Returns: 5
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50}
Returns: 50
{25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25}
Returns: 0
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
Returns: -1
{20, 47, 38, 29, 25, 21, 19, 9, 47, 3, 12, 27, 29, 18, 20, 9, 13, 48, 45, 46, 3, 24, 16, 41, 37, 24, 45, 23, 36, 37, 9, 10, 17, 35, 34, 21, 14, 31, 23, 28, 25, 23, 39, 12, 23, 27, 23, 29, 32, 27}
Returns: 0
{13, 8, 25, 5, 1, 43, 14, 30, 1, 15, 0, 24, 10, 31, 32, 11, 3, 10, 46, 44, 39, 23, 23, 11, 9, 38, 34, 46, 47, 2, 3, 33, 29, 29, 34, 23, 5, 38, 50, 21, 46, 46, 8, 16, 0, 5, 24, 2, 19, 13}
Returns: 2
{1, 1 }
Returns: 0
{7, 0 }
Returns: -1
{0, 1, 1 }
Returns: -1
{0, 2, 3, 3 }
Returns: -1
{1, 0, 1 }
Returns: -1
{0, 0, 50, 50 }
Returns: -1
{2, 4, 3, 0 }
Returns: -1
{30, 25, 20, 15, 10, 45, 0, 33, 22, 11, 30, 25, 20, 15, 6, 45, 0, 33, 22, 11, 30, 25, 20, 49, 1, 45, 0, 33, 22, 11, 30, 25, 20, 15, 10, 45, 0, 33, 2, 11, 30, 25, 20, 15, 10, 45, 0, 1, 22, 11 }
Returns: -1
{0, 3 }
Returns: -1
{0, 2 }
Returns: -1
{0, 0 }
Returns: -1
{1 }
Returns: 1
{50 }
Returns: 0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
Returns: 0
{0, 2, 3 }
Returns: -1
{2 }
Returns: 0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
Returns: 50
{2, 1, 1, 0 }
Returns: -1
{0, 0, 0, 3 }
Returns: -1
{0, 0, 0 }
Returns: -1
{1, 2, 2 }
Returns: 2
{3, 3, 3 }
Returns: 3
{0, 0, 0, 2 }
Returns: -1
{0 }
Returns: -1
{0, 1, 1, 2, 3 }
Returns: -1
{2, 0 }
Returns: -1
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 5, 5, 5, 50, 50, 50, 50, 50, 50, 50, 5, 50, 50, 0, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
Returns: -1
{2, 2 }
Returns: 2
{0, 3, 3 }
Returns: -1
{4 }
Returns: 0
{0, 0, 0, 0, 0, 0, 0 }
Returns: -1
{0, 0, 2, 3 }
Returns: -1
{1, 3, 3, 3 }
Returns: 3
{0, 0, 0, 0, 2 }
Returns: -1
{50, 50, 50, 50 }
Returns: 0
{0, 3, 3, 3, 1 }
Returns: 3
{0, 0, 2 }
Returns: -1
{50, 50, 0, 1 }
Returns: 1
{7, 18, 7, 7, 47, 7, 7, 7, 7 }
Returns: 7
{0, 0, 3 }
Returns: -1
{1, 1, 1, 0 }
Returns: -1
{0, 0, 30 }
Returns: -1
{1, 1, 0 }
Returns: -1
{50, 50, 50 }
Returns: 0
{5 }
Returns: 0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 5, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
Returns: 0
{10 }
Returns: 0
{0, 2, 2, 2 }
Returns: -1
{1, 2, 2, 3 }
Returns: 2
{1, 9, 1, 0, 1, 2, 3 }
Returns: -1
{0, 1, 1, 1, 1, 1 }
Returns: -1
{0, 1, 0, 0 }
Returns: 1
{1, 1, 1, 1, 1, 1, 1, 1, 2, 2 }
Returns: 2
{5, 4, 4, 4, 4 }
Returns: 4
{1, 2, 3, 1 }
Returns: 0
{0, 1, 2, 1, 3, 4, 5 }
Returns: -1
{1, 2, 1, 0 }
Returns: -1
{0, 2, 3, 4 }
Returns: -1
{5, 6, 0 }
Returns: -1
{0, 5, 5 }
Returns: -1
{5, 0, 0, 10 }
Returns: -1
{2, 2, 4, 4, 4, 4, 4 }
Returns: 2
{2, 3, 4, 0 }
Returns: -1
{3, 0, 3 }
Returns: -1
{5, 5, 5, 5, 5 }
Returns: 5
{4, 4, 4, 4 }
Returns: 4
{1, 0 }
Returns: 1
{1, 1, 0, 0, 0 }
Returns: -1
{1, 1, 1 }
Returns: 0
{2, 3, 0 }
Returns: -1
{0, 0, 0, 0 }
Returns: -1
{2, 3 }
Returns: 0
{0, 3, 3, 3, 3, 4, 4 }
Returns: -1
{3 }
Returns: 0
{1, 0, 0, 0 }
Returns: 1
{1, 1, 2, 2, 2, 4, 4, 0, 5, 5 }
Returns: -1
{0, 1, 1, 2 }
Returns: -1
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Returns: -1