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 5
5
*/
6
6
public class Combinations {
7
7
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
-
25
8
/**
26
9
* Calculate of factorial
27
10
*
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