Problem Statement
Definition
- Class:
- DrawingMarbles
- Method:
- sameColor
- Parameters:
- int[], int
- Returns:
- double
- Method signature:
- double sameColor(int[] colors, int n)
- (be sure your method is public)
Notes
- Every time we draw a marble, all marbles in the box are equally likely to be chosen.
- A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.
Constraints
- colors will contain between 1 and 50 elements, inclusive.
- Each element of colors will be between 1 and 50, inclusive.
- n will be between 1 and the sum of all elements of colors, inclusive.
Examples
{ 13 }
8
Returns: 1.0
All the marbles are the same color, so obviously all drawn marbles will be the same color too.
{ 5, 7 }
1
Returns: 1.0
{ 5, 6, 7 }
2
Returns: 0.3006535947712418
The probability that the first drawn marble will be of the color 0 is 5 / 18 (there are 5 marbles of color 0 out of 18). If the first drawn marble is of the color 0, then the probability that the second drawn marble will be of the color 0 is 4 / 17 (there are 4 marbles of color 0 left out of 17). So the probability that both drawn marbles will be of the color 0 is (5 / 18) * (4 / 17) = 0.0653594771... . Similarly, the probability that both drawn marbles will be of the color 1 is (6 / 18) * (5 / 17) = 0.0980392156..., and that both drawn marbles will be of the color 2 is (7 / 18) * (6 / 17) = 0.1372549019... . The answer is the sum of these 3 probabilities.
{ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
500
Returns: 0.0
{ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
10
Returns: 4.178940467970992E-10
{ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
5
Returns: 8.300897542362798E-5
{ 12, 2, 34, 13, 17 }
4
Returns: 0.035028830818304504
{16,10,11,20,6,12,17,2,15,15,17,8,14,19,1,1,4,5,13,9,14,2,17,4,3,20,4,11,13,19,2,8,20,5,20,6,16,16,19,2,10,15,9,4,14,1,16,9,17,8}
3
Returns: 6.451180614601044E-4
{13,3,19,12,16,2,19,1,2,13,4,4,20,16,3,10,13,3,18,3,1,5,9,2,3,15,11,11,4,13,18,16,15,8,20,2,10,10,2,11,14,5,7,13,20,9,14,4,11,12}
8
Returns: 8.91313042384041E-12
{24,28,40,2,31,12,27,18,36,44,17,44,3,3,18,31,5,42,43,23,15,4,21,19,6,31,34,24,5,27,8,30,4,49,31,35,12,10,4,47,3,20,43,7,24,12,39,29,3,32}
1
Returns: 1.0
{19,35,21,37,42,4,22,18,10,48,25,40,4,25,22,40,36,31,45,35,34,17,27,42,40,38,31,18,40,14,21,8,50,41,46,41,46,18,8,6,17,34,47,22,8,18,11,46,1,8}
32
Returns: 4.755340490627849E-52
{36,24,8,27,13,47,9,33,38,22,3,45,21,43,42,12,41,9,21,48,28,7,44,49,16,13,12,11,13,19,44,48,42,1,27,6,49,35,38,36,7,40,32,29,35,24,42,25,34,13}
5
Returns: 5.389562780471944E-7
{11,21,17,10,36,29,21,49,44,41,42,41,32,45,19,37,43,4,27,29,12,16,10,40,50,33,32,26,17,46,49,29,16,15,38,1,46,10,49,41,50,41,33,31,37,2,20,29,5,46}
3
Returns: 6.249392847217786E-4
{16,13,19,7,13,3,38,38,21,33,39,50,48,3,37,1,50,47,49,40,48,41,25,31,27,26,50,8,32,47,16,47,9,34,5,23,37,43,13,9,27,1,8,27,5,47,27,5,43,25}
2
Returns: 0.02630479480220413
{42,18,20,22,46,47,23,5,28,19,21,26,30,4,31,2,42,23,16,1,1,16,10,27,21,6,3,27,50,30,24,42,49,44,13,44,42,36,49,20,6,21,45,37,26,25,41,18,49,6}
4
Returns: 2.205187265629854E-5
{50,22,29,26,44,35,29,20,36,10,43,27,8,38,40,1,30,27,1,1,34,21,45,21,49,22,11,16,20,16,37,21,39,17,49,32,3,29,3,39,38,48,15,45,37,6,47,18,34,50}
2
Returns: 0.024857624895935404
{18,22,15,40,20,36,50,37,7,17,23,30,8,42,28,39,44,6,44,34,43,41,1,39,27,8,35,47,42,34,14,11,6,28,2,25,15,3,12,22,19,36,1,26,29,30,17,23,35,10}
3
Returns: 7.003640300611957E-4
{29,2,8,17,30,16,3,26,9,37,42,21,44,19,22,20,34,26,33,7,44,21,9,22,49,38,40,23,22,1,31,2,2,40,18,31,7,20,9,15,8,50,37,1,20,10,23,3,35,5}
4
Returns: 2.787809847952095E-5
{31,25,19,4,24,8,43,46,31,43,28,32,44,18,1,26,24,21,36,41,30,35,29,33,5,39,5,9,25,11,22,7,36,42,10,11,50,2,8,30,44,36,12,39,5,14,17,28,36,2}
3
Returns: 7.24410332718799E-4
{24,28,40,2,31,12,27,18,36,44,17,44,3,3,18,31,5,42,43,23,15,4,21,19,6,31,34,24,5,27,8,30,4,49,31,35,12,10,4,47,3,20,43,7,24,12,39,29,3,32}
6
Returns: 2.782721565018281E-8
{45,48,40,42,49,44,49,41,41,43}
14
Returns: 2.3119104899009693E-14
{44,41,44,40,41,46,44,50,46,49}
6
Returns: 7.923897835963811E-6
{46,44,43,41,50,47,42,49,46,47}
2
Returns: 0.09839763760468606
{46,50,41,49,46,40,50,49,46,44}
17
Returns: 9.714821997909795E-18
{50,42,50,44,47,49,48,43,50,41}
9
Returns: 5.777212681979774E-9
{41,42,44,46,45,40,50,50,45,46}
8
Returns: 6.482742230434584E-8
{44,42,45,44,41,41,50,43,48,47}
2
Returns: 0.09839052535681748
{47,49,40,43,47,41,41,48,46,42}
3
Returns: 0.009548267714513897
{40,46,43,40,45,40,43,49,50,47}
7
Returns: 7.387570743725265E-7
{42,40,40,41,48,43,50,45,49,44}
6
Returns: 8.079087652845126E-6
{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}
2500
Returns: 0.0
{1, 2 }
2
Returns: 0.3333333333333333
{12, 2, 34, 13, 17 }
4
Returns: 0.035028830818304504
{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 }
25
Returns: 1.2450460110604864E-44
{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 }
1250
Returns: 0.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 }
20
Returns: 6.80263488208756E-35
{12, 2, 34, 13, 17, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 44, 49, 49, 49, 49 }
3
Returns: 8.046688689897095E-4
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 22, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 }
789
Returns: 0.0
{1 }
1
Returns: 1.0
{49, 50 }
51
Returns: 0.0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
20
Returns: 1.7669930459665218E-21
{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 }
51
Returns: 0.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 }
1250
Returns: 0.0
{50, 50, 50, 50, 50, 50, 47, 48, 35, 34, 50 }
49
Returns: 3.291810245375422E-67
{5, 7 }
1
Returns: 1.0
{5, 6, 7 }
2
Returns: 0.3006535947712418
{50, 50 }
10
Returns: 0.0011868393451716574
{50, 50, 50, 50, 50, 50, 50 }
250
Returns: 0.0
{2, 3, 4 }
6
Returns: 0.0
{50, 50 }
25
Returns: 1.0424788643271385E-9
{50, 30, 50, 10 }
50
Returns: 6.713216749208715E-39
{23, 43, 22, 23, 11, 8 }
7
Returns: 3.1130312484238564E-4
{3 }
3
Returns: 1.0
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
3
Returns: 0.012578616352201259
{3, 4, 5 }
3
Returns: 0.06818181818181818
{40, 30, 50, 50, 50, 40, 40, 50, 40, 40, 40, 40, 40, 40, 50, 50 }
25
Returns: 1.9528078204699337E-31
{1, 2, 3 }
4
Returns: 0.0
{12, 14, 22, 15, 19, 21, 5, 4, 13, 21, 18, 27, 35, 19, 21, 33, 18, 14, 10, 14, 39, 31, 21, 18, 12, 14, 11, 19, 33, 31, 32, 33, 33, 3, 3, 3, 3, 3, 4, 3, 5, 14, 1, 13, 15, 16, 26, 18, 15, 25 }
231
Returns: 0.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 }
100
Returns: 0.0
{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, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
51
Returns: 0.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, 40, 45, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
1000
Returns: 0.0
{50, 50 }
50
Returns: 1.982330604283667E-29
{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 }
50
Returns: 3.156947199244522E-104
{49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49 }
24
Returns: 6.548139538541121E-35
{13, 50, 50, 50, 50, 49, 34, 34, 34, 34, 34, 34 }
10
Returns: 4.148711581146338E-10
{3, 3 }
3
Returns: 0.1
{30, 40, 29, 15 }
40
Returns: 1.0610933375976087E-31
{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 }
1000
Returns: 0.0
{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, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
50
Returns: 7.742343698780786E-104
{5 }
5
Returns: 1.0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 7, 50, 50, 11, 50, 50, 5, 50, 50, 50, 50, 5, 50, 50, 50, 50, 50, 3, 50, 50, 50, 50, 50, 50, 50, 50, 50, 9, 50, 50, 1, 50, 50, 50, 50, 34, 50, 50, 50 }
10
Returns: 6.748651047021557E-16
{21, 44, 24, 41, 10, 19, 29, 27, 46, 4 }
6
Returns: 4.822187452684364E-5
{4 }
4
Returns: 1.0
{25, 25 }
50
Returns: 0.0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 50, 50, 50, 46, 50, 50, 50, 50, 50, 50, 50, 50, 37, 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 }
4
Returns: 7.141568899747483E-6
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
50
Returns: 2.1140618795240286E-84
{50 }
25
Returns: 1.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 }
2500
Returns: 0.0
{1, 2, 3, 4, 5, 6 }
6
Returns: 1.842842400117942E-5
{13 }
8
Returns: 1.0
{50, 1 }
50
Returns: 0.0196078431372549
{2 }
2
Returns: 1.0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
200
Returns: 0.0
{5, 5 }
5
Returns: 0.007936507936507936
{10, 10 }
7
Returns: 0.0030959752321981426
{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 }
1225
Returns: 0.0
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 48, 49, 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: 3.220111924750026E-104
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 7, 50, 50, 11, 50, 50, 5, 50, 50, 50, 50, 5, 50, 50, 50, 50, 50, 3, 50, 50, 50, 50, 50, 50, 50, 50, 50, 9, 50, 50, 1, 50, 50, 50, 50, 34, 50, 50, 50 }
11
Returns: 1.2467123948813707E-17
{50, 50, 50, 50, 50, 50, 50, 50, 2, 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: 8.235552401104238E-104
{12, 2, 34, 13, 17 }
10
Returns: 1.042249671481569E-4
{50, 50, 50 }
25
Returns: 1.9383531093556322E-14
{10, 20, 30, 40, 50 }
30
Returns: 1.46372167167487E-18
{1, 2, 3, 5, 26, 34, 8, 12, 45, 45, 49, 37 }
4
Returns: 0.003080759697922703
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
2
Returns: 0.0