File tree Expand file tree Collapse file tree 2 files changed +30
-17
lines changed
main/java/com/thealgorithms/maths
test/java/com/thealgorithms/maths Expand file tree Collapse file tree 2 files changed +30
-17
lines changed Original file line number Diff line number Diff line change 55 */
66public class Combinations {
77
8- public static void main (String [] args ) {
9- assert combinations (1 , 1 ) == 1 ;
10- assert combinations (10 , 5 ) == 252 ;
11- assert combinations (6 , 3 ) == 20 ;
12- assert combinations (20 , 5 ) == 15504 ;
13-
14- // Since, 200 is a big number its factorial will go beyond limits of long even when 200C5 can be saved in a long
15- // variable. So below will fail
16- // assert combinations(200, 5) == 2535650040l;
17- assert combinationsOptimized (100 , 0 ) == 1 ;
18- assert combinationsOptimized (1 , 1 ) == 1 ;
19- assert combinationsOptimized (10 , 5 ) == 252 ;
20- assert combinationsOptimized (6 , 3 ) == 20 ;
21- assert combinationsOptimized (20 , 5 ) == 15504 ;
22- assert combinationsOptimized (200 , 5 ) == 2535650040l ;
23- }
24-
258 /**
269 * Calculate of factorial
2710 *
Original file line number Diff line number Diff line change 1+ package com .thealgorithms .maths ;
2+
3+ import org .junit .jupiter .api .Test ;
4+
5+ import static org .junit .jupiter .api .Assertions .assertEquals ;
6+
7+ public class CombinationsTest {
8+
9+ @ Test
10+ void testCombination () {
11+
12+ assertEquals (1 , Combinations .combinations (1 , 1 ));
13+ assertEquals (252 , Combinations .combinations (10 , 5 ));
14+ assertEquals (20 , Combinations .combinations (6 , 3 ));
15+ assertEquals (15504 , Combinations .combinations (20 , 5 ));
16+
17+ }
18+
19+ @ Test
20+ void testCombinationOptimised () {
21+
22+ assertEquals (100 , Combinations .combinationsOptimized (100 , 1 ));
23+ assertEquals (1 , Combinations .combinationsOptimized (1 , 1 ));
24+ assertEquals (252 , Combinations .combinationsOptimized (10 , 5 ));
25+ assertEquals (20 , Combinations .combinationsOptimized (6 , 3 ));
26+ assertEquals (15504 , Combinations .combinationsOptimized (20 , 5 ));
27+ assertEquals (2535650040L , Combinations .combinationsOptimized (200 , 5 ));
28+
29+ }
30+ }
You can’t perform that action at this time.
0 commit comments