Problem Statement
The greatest common divisor (GCD) of two positive integers a and b is the largest integer that evenly divides both a and b. In this problem, you will find the GCD of a positive integer and the factorial of a non-negative integer.
Create a class FactorialGCD with method factGCD which takes an
Definition
- Class:
- FactorialGCD
- Method:
- factGCD
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int factGCD(int a, int b)
- (be sure your method is public)
Notes
- Assume 0! = 1.
Constraints
- a will be between 0 and 2147483647, inclusive.
- b will be between 1 and 2147483647, inclusive.
Examples
5
20
Returns: 20
5! = 120, so GCD(120,20) = 20.
7
5040
Returns: 5040
7! = 5040, GCD(5040,5040) = 5040.
0
2425
Returns: 1
Note that 0! = 1.
667024
1
Returns: 1
4
40
Returns: 8
4! = 24, so GCD(24,40) = 8.
385791261
96343446
Returns: 96343446
1
1
Returns: 1
0
1
Returns: 1
0
2
Returns: 1
2097711064
2147483646
Returns: 2147483646
1023941542
2147443641
Returns: 2147443641
2147483646
2147483647
Returns: 1
2147483647
2147483647
Returns: 2147483647
0
2147483647
Returns: 1
2
2147483646
Returns: 2
29
1073741824
Returns: 33554432
30
1073741824
Returns: 67108864
31
1073741824
Returns: 67108864
32
1073741824
Returns: 1073741824
33
1073741824
Returns: 1073741824
37
1073741824
Returns: 1073741824
999999999
1073741824
Returns: 1073741824
2
2147483578
Returns: 2
0
2147483578
Returns: 1
1073741788
2147483578
Returns: 2
1073741789
2147483578
Returns: 2147483578
1073741790
2147483578
Returns: 2147483578
2073741789
2147483578
Returns: 2147483578
2
2147483643
Returns: 1
3
2147483643
Returns: 3
6
2147483643
Returns: 3
715827880
2147483643
Returns: 3
715827881
2147483643
Returns: 2147483643
1158278867
2147483643
Returns: 2147483643
715827820
2147483463
Returns: 3
715827821
2147483463
Returns: 2147483463
17
2147483463
Returns: 3
1599120045
1599120121
Returns: 1599120121
39990
1599120121
Returns: 39989
39989
1599120121
Returns: 39989
39988
1599120121
Returns: 1
79977
1599120121
Returns: 39989
79978
1599120121
Returns: 1599120121
79979
1599120121
Returns: 1599120121
39978
1598720231
Returns: 1
39979
1598720231
Returns: 39979
39988
1598720231
Returns: 39979
39989
1598720231
Returns: 1598720231
100000
1598720231
Returns: 1598720231
10
479001600
Returns: 3628800
11
479001600
Returns: 39916800
12
479001600
Returns: 479001600
13
479001600
Returns: 479001600
77
479001600
Returns: 479001600
2
223092870
Returns: 2
3
223092870
Returns: 6
4
223092870
Returns: 6
5
223092870
Returns: 30
10
223092870
Returns: 210
22
223092870
Returns: 9699690
23
223092870
Returns: 223092870
24
223092870
Returns: 223092870
223082870
223092870
Returns: 223092870
1367309
409896946
Returns: 206
9270
1112192814
Returns: 17958
28816
834003385
Returns: 2945
1602946251
1756164196
Returns: 1756164196
412402369
766144549
Returns: 766144549
1277916637
1424271235
Returns: 1424271235
37869
343162006
Returns: 1826
261617
1173411407
Returns: 1687
134882
734835850
Returns: 2450
5820691
739469855
Returns: 5
849672
287883921
Returns: 39
67640378
711370130
Returns: 10
779595530
717226577
Returns: 717226577
511837552
2009683795
Returns: 2009683795
39268
631653570
Returns: 12330
10141
2020659627
Returns: 68901
11348421
1848214524
Returns: 156
9508
10694961
Returns: 333
1876075859
1710011182
Returns: 1710011182
465961
444432695
Returns: 245
2145
852254625
Returns: 274125
136523
667072425
Returns: 1425
10295
648661050
Returns: 13950
29851743
822897489
Returns: 3
912989102
821367352
Returns: 821367352
155799738
1164367549
Returns: 1164367549
14174
412921215
Returns: 22995
42005580
1767621623
Returns: 19
1818206932
696456218
Returns: 696456218
2674
429771106
Returns: 129958
121745
584675662
Returns: 1394
4530610
572618429
Returns: 17
80865
2099229344
Returns: 7456
2936
206274487
Returns: 1
2722
1526721118
Returns: 26
57687
1326706560
Returns: 17280
85838
842071422
Returns: 2586
186767
1235052527
Returns: 3499
3235
49867927
Returns: 15311
255738
1023941542
Returns: 1118
339471874
202602857
Returns: 202602857
930600
1525633650
Returns: 1350
49710
600069565
Returns: 2605
11739903
126343446
Returns: 6
1735596738
243342829
Returns: 243342829
355913033
1702403026
Returns: 2
3205
284962264
Returns: 8
1427516445
182005171
Returns: 182005171
470
1911885669
Returns: 603
1595
2070709893
Returns: 223209
95883
1994106265
Returns: 14935
11181945
852484138
Returns: 22
500259
689230118
Returns: 1142
2250
1126879965
Returns: 151605
142292077
1229405945
Returns: 5
11032588
1070801962
Returns: 38
180419
1150030841
Returns: 6137
94240230
1749232153
Returns: 17
1592513725
898667024
Returns: 898667024
39889
17516151
Returns: 17516151
2147483641
2147483641
Returns: 2147483641
19
300000000
Returns: 96000
2147483646
2147483647
Returns: 1
2097711064
2147483646
Returns: 2147483646
2147483647
2147483646
Returns: 2147483646
2
2
Returns: 2
2147483647
2147483647
Returns: 2147483647
45
433465634
Returns: 14
2147483645
2147483647
Returns: 1
2147483625
85899345
Returns: 85899345
2436
2147483647
Returns: 1
987234323
2147483646
Returns: 2147483646
2000000010
2000000011
Returns: 1
2147483646
21474836
Returns: 21474836
1000000000
2038074743
Returns: 1
40009
1600720081
Returns: 40009
100000006
100000007
Returns: 1
2097711064
2147483647
Returns: 1
2147483646
22222
Returns: 22222
2147483646
1
Returns: 1
2147483641
2147483643
Returns: 2147483643
2147483647
2099999999
Returns: 2099999999
234534
33556226
Returns: 33556226
0
2
Returns: 1
1000099993
1000099993
Returns: 1000099993
2147483646
2147483646
Returns: 2147483646
9992
999010081
Returns: 9991
17
2147489
Returns: 1
2
40
Returns: 2
123456789
1147483647
Returns: 1147483647
14
17
Returns: 1
7
21
Returns: 21
2124483647
2147483647
Returns: 1
99999971
99999989
Returns: 1
21556233
1555
Returns: 1555
2097711064
2147483645
Returns: 2147483645
5
125
Returns: 5
2097711071
2097711071
Returns: 2097711071
1000099993
1000099999
Returns: 1
2097711070
2097711071
Returns: 1
2346
2147483647
Returns: 1
2111111064
2147181146
Returns: 2147181146
3
32
Returns: 2
2097711064
5
Returns: 5
1073741820
2147483647
Returns: 1
100000001
100000037
Returns: 1
1073741717
1073741717
Returns: 1073741717