Problem Statement
Partuki and Haverta are playing a game. Partuki places several groups of coins in front of Haverta, and asks her to select one or more of the groups. The groups must be selected so that counts of coins in them do not share any common divisors greater than 1. For example, you could choose a group of 4 coins, a group of 3 coins, and a group of 2 coins because 4, 3 and 2 share no common divisors greater than 1. However, you could not chose a group of 4 coins and a group of 2 coins because 4 and 2 share the common divisor 2.
You are given a
Definition
- Class:
- DecorationDay
- Method:
- howMany
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int howMany(int[] groups)
- (be sure your method is public)
Constraints
- groups will contain between 1 and 50 elements, inclusive.
- Each elements of groups will be between 1 and 100000, inclusive.
Examples
{2, 4, 3}
Returns: 3
There are 3 valid selections - {2, 3}, {4, 3} and {2, 4, 3}.
{2, 2, 2, 4}
Returns: 0
Groups in any valid selection share the common divisor 2, so there are no valid selections.
{2, 6, 15}
Returns: 2
Haverta can choose {2, 15} or {2, 6, 15}.
{2, 5, 98872, 23298, 32872, 23111}
Returns: 45
{1, 1, 2, 2, 3, 3, 4, 4, 5, 5}
Returns: 1002
{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}
Returns: 9072755
{77619, 40445, 39949, 86247, 28405, 5541, 90560, 351, 89653, 61893, 73932, 83706, 97555, 1138, 67318, 15532, 76313, 80432, 92631, 60908, 38747, 73281, 20524, 7540, 17040, 7928, 45305, 20581, 84199, 21932, 44570, 18247, 48264, 28456, 23784, 95789, 39561, 13919}
Returns: 7684857
{70807, 25481, 7004, 63236, 69457, 71629, 62520, 20376, 23993, 27988, 90245, 81559}
Returns: 4055
{86136, 47495, 92522, 13284, 64068, 58146, 31380}
Returns: 62
{82477, 77231, 19036, 30735, 63918, 45608, 36985, 68435, 33700, 54850, 83450, 77943, 74274, 69083, 29135, 23936, 21106, 22281, 4087, 79318, 33993, 26002, 81158, 67713, 42502, 77561, 68019, 75948, 65415}
Returns: 6853035
{17052, 38284, 92231, 9439, 46070, 85594, 48248, 7234, 58037}
Returns: 444
{69369, 84501, 6931, 62946, 21524, 25476, 9569, 41323, 23671, 17513, 74344, 92072, 12428, 52218, 81146, 35800, 2711, 1692, 39194, 40403, 43788, 38582, 85925, 38307, 87883, 35296, 18011, 62220, 61081, 78778, 37038, 48907, 21724, 52281, 51462, 93436, 94130, 18876, 39502, 27414, 90991, 96861, 30206, 91986}
Returns: 3594365
{96547, 43590, 51337, 22625, 26867, 33460, 71355, 14825, 63335, 10979, 30475, 98476, 8311, 38880, 72679, 29894, 11540, 80794, 14278, 90466}
Returns: 1047554
{76389, 13227, 57362, 66311, 29130, 5606, 89838, 99528, 96623, 14041, 77516, 88047, 36638, 42999, 37656, 94467, 60341, 3016}
Returns: 261126
{19149, 99306, 74538, 40639, 5351, 94361, 76434, 60052, 86227, 85419}
Returns: 980
{51582, 49801, 42052, 10992, 49606, 78696, 1482, 92221, 45929, 44654, 73421, 44576, 35985, 94307, 26935, 61638, 72143, 18767, 85553, 15071, 91926, 8107, 99855, 51523, 23415, 50485}
Returns: 7107308
{60591, 94549, 79101, 25591, 63053, 23652, 44252}
Returns: 113
{71698, 64035, 18309, 31232, 74208, 92435, 14387, 23212, 1964, 62003, 50178, 14051, 27034, 74458, 78490, 21275, 45956, 86768}
Returns: 260064
{66948, 75674, 50440, 43683, 81589, 70915, 38046, 70516, 31569, 8993, 77961, 53746, 39286}
Returns: 8014
{68062, 72480, 75618, 9011, 72289, 61788, 41922, 40832, 10920, 48882, 52536, 34167, 93869, 79339, 41736, 14202, 17072, 88162}
Returns: 253428
{19602, 63175, 83383, 80545, 41073, 99587, 6877, 49901, 65232, 95873, 36046, 66607, 58327, 20649, 77790, 43043, 24923, 46790, 81612, 68225, 7201, 47938, 10261, 36105, 58945, 30302, 51331, 31339, 11686, 57387, 23043, 96371, 90705}
Returns: 9930168
{71892, 28336, 60061, 46776, 23227, 42848, 75006, 35423, 35572, 85242, 78339, 76473, 76835, 951}
Returns: 16139
{27191, 4040, 24669, 49874, 62934, 76816, 51210, 92636, 78686, 69960, 27289, 86699, 7413, 42093, 26644}
Returns: 32197
{41213, 14655, 64151, 32204}
Returns: 11
{19252, 42556, 19759, 81655, 64296, 40521, 73082, 71585, 29266, 37746, 55957}
Returns: 1975
{85874, 32299, 86520, 78649, 19591, 60047, 41164, 11619, 93917, 43814, 33517, 34338, 46563, 23990, 5105, 55612, 89787, 97321, 11810, 44545, 44970, 54647, 66951, 87933, 48111, 5040, 69697, 63223, 18928, 49512, 12529, 96042, 57392, 91551, 56823, 6653, 75614, 85644, 36757, 5664, 77575, 88997, 22738, 87397, 11466}
Returns: 878108
{94778, 47257, 40396, 37276, 32290, 81790, 7138, 53028, 46410, 99110, 71692, 75012, 76923, 49230, 47970, 13486, 42192, 22997, 99365, 49229, 10194, 27511, 56824, 93685, 65403, 56906, 49096, 65099, 17979, 66740, 54662, 99054, 14809, 3815, 90006, 47777, 87921, 97370, 68992, 75063, 47996, 2150, 10851, 51833, 6349, 27162}
Returns: 4562441
{790, 52664, 88283, 44918, 68232, 88109, 51419, 76090, 43711, 53826, 42036, 96006, 28780, 53487, 82754, 3771, 75148, 51826, 63514, 29822, 20111, 97490, 86667, 19751, 38788}
Returns: 3488710
{91312, 25017, 5411, 58171, 65710, 55052}
Returns: 53
{98827, 85424, 42374, 1605, 2637, 39517, 62952, 84221, 8750, 15859, 69220, 65628, 12559, 49570, 6509, 91323, 23945, 83495, 78151, 92568, 20586}
Returns: 2096462
{55709, 11423, 5405, 91608, 37201, 40949}
Returns: 57
{81216, 58381, 68865, 42415, 89577, 8345, 47319, 91350, 52849, 10918, 53634, 64739, 87033, 58055, 26478, 36066, 21865, 58975, 62959, 98434, 45441, 97205, 70641, 2940, 62231, 45540, 18173, 68148, 49650, 26927, 94660, 20729, 61090, 60050, 57771, 61222, 32313}
Returns: 8732564
{11155, 57739, 11050, 81783, 74212, 49733, 17661, 1938, 45334, 95306, 49484, 91830, 16828, 93345, 45981, 29228, 7981, 10893, 58812, 9089, 33136, 683, 80883, 59703, 69411, 49905, 92329, 4573, 2344, 47798, 30197, 38521, 68557, 66000, 702, 41505, 84535, 93753, 80977, 56745, 82602, 96843, 6173, 56182, 82615}
Returns: 876714
{89774, 26481, 57250, 60321, 90884, 29431, 61454, 21540, 69743, 94862, 97416, 45108, 36937, 43442, 33069, 90370, 23440, 60046}
Returns: 257974
{6859, 87743, 36742, 48589, 55297, 59241, 63248, 53692, 51690, 54385, 54787, 38322, 61857, 30888, 15015, 14433, 32795, 62244, 45708, 21802, 92516, 73369, 64535}
Returns: 8387053
{28488, 94198, 47511, 87916, 96077, 13631, 96918, 6410, 1405, 97795, 19307, 87067, 39970, 70809, 4780, 13760, 9162, 35132, 20128, 38819, 81162, 22528}
Returns: 4186005
{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}
Returns: 9072755
{1, 1, 1, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 12, 13, 14, 15,16,17,18,19,20,21,22,23,24,25,26,27,28}
Returns: 7554058
{2, 4, 2, 4, 8, 2, 4, 8, 8, 4, 2, 4, 8, 4, 2, 4,8, 4,2, 4, 8, 2, 4, 8, 2, 4, 8, 8, 4, 2, 4, 8, 4,2, 4,8, 4, 2, 4, 8, 8, 4, 2, 2, 4,4, 4, 8}
Returns: 0
{2, 2, 3}
Returns: 3
Here there are three ways to make a selection: pile 0 (2 coins) and pile 2 (3 coins); pile 1 (2 coins) and pile 2 (3 coins); all three piles.
{100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000}
Returns: 0
{100000, 99999, 99998, 99997, 99996, 99995, 99994, 99993, 99992, 99991, 99990, 99989, 99988, 99987, 99986, 99985, 99984, 99983, 99982, 99981, 99980, 99979, 99978, 99977, 99976, 99975, 99974, 99973, 99972, 99971, 99970, 99969, 99968, 99967, 99966, 99965, 99964, 99963, 99962, 99961, 99960, 99959, 99958, 99957, 99956, 99955, 99954, 99953, 99952, 99951}
Returns: 5386375
{1}
Returns: 1
{1, 1}
Returns: 3
{1, 100000, 100000}
Returns: 4
{100000}
Returns: 0
{1, 100000, 99999}
Returns: 5
{2, 1}
Returns: 2
{2, 6, 15 }
Returns: 2
{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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }
Returns: 5451922
{42, 18468, 6335, 26501, 19170, 15725, 11479, 29359, 26963, 24465, 5706, 28146, 23282, 16828, 962, 492, 2996, 11943, 4828, 5437, 32392, 14605, 3903, 154, 293, 12383, 17422, 18717, 2, 19896, 5448, 21727, 14772, 11539, 1870, 19913, 25668, 26300, 17036, 9895, 28704, 23812, 31323, 30334, 17674, 4665, 15142, 7712, 28254, 6869 }
Returns: 1943159
{99999, 99415, 98831, 98247, 97663, 97079, 96495, 95911, 95327, 94743, 94159, 93575, 92991, 92407, 91823, 91239, 90655, 90071, 89487, 88903, 88319, 87735, 87151, 86567, 85983, 85399, 84815, 84231, 83647, 83063, 82479, 81895, 81311, 80727, 80143, 79559, 78975, 78391, 77807, 77223, 76639, 76055, 75471, 74887, 74303, 73719, 73135, 72551, 71967, 71383 }
Returns: 8940492
{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229 }
Returns: 9072705
{11, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 4, 2, 42, 42, 42, 42, 42, 42, 42 }
Returns: 4536377
{2 }
Returns: 0
{46, 4572, 234, 7, 324, 67, 34, 73, 437, 78, 346, 37, 568, 346, 58, 3456, 85, 346, 68, 36, 6487, 3457, 685, 47, 4568, 457, 345, 643, 7, 4567, 745, 457, 324, 6, 34 }
Returns: 9465620
{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 3, 6, 12, 24, 48, 96, 192, 384, 768, 1536, 3072, 6144, 12288, 24576, 9, 27, 81, 243, 729, 18, 54, 162, 486, 1458, 36, 108, 324, 972, 2916, 5832, 5, 50, 15 }
Returns: 5771112
{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 }
Returns: 3741502
{6, 10, 15 }
Returns: 1
{40051, 32625, 50524, 77311, 97146, 39100, 69636, 63902, 75553, 4736, 29315, 91378, 58264, 9596, 74372, 5629, 70414, 1, 64751, 6469, 6382, 58322, 89, 52687, 1813, 43626, 67096, 15074, 24897, 48841, 17302, 81300, 81465, 67825, 58610, 94962, 2, 5, 58863, 19848, 49333, 4530, 6557, 7596, 14125, 80929, 63891, 84539, 12553, 44994 }
Returns: 5501284
{3 }
Returns: 0
{46, 4572, 234, 7, 324, 67, 34, 73, 437, 78, 346, 37, 568, 346, 58, 3456, 85, 346, 68, 36, 6487, 3457, 685, 47, 4568, 457, 345, 643, 7, 4567, 745, 457, 324, 6, 34, 2325, 235, 46, 23, 6, 3426, 236, 234, 32, 436 }
Returns: 7972844
{15, 21, 35 }
Returns: 1
{5, 5, 5, 5, 5, 90090, 44444, 51553, 31555, 51553, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }
Returns: 9786227
{6, 15, 10 }
Returns: 1
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 }
Returns: 4536378
{36773, 42610, 7363, 28950, 18729, 58356, 27092, 63702, 22718, 84511, 98077, 3248, 49764, 82133, 49776, 58939, 23076, 44080, 54760, 35073, 32683, 98841, 54511, 55363, 12597, 7814, 96907, 33314, 29484, 39951, 48755, 67899, 27564, 34503, 49728, 45555, 60391, 48907, 49939, 81830, 87155, 92792, 43670, 65782, 86463, 8507, 93159, 13846, 60168, 15228 }
Returns: 195857