Problem Statement
1) n!k = n!(k-1) * (n-1)!k for n > 0 and k > 0
2) n!k = 1 for n = 0
3) n!k = n for k = 0
For example, 7!1 = 7! (the traditional factorial), and 5!3 = 5!2 * 4!3 = (5!1 * 4!2) * 4!3.
You are given
Definition
- Class:
- MegaFactorialDiv2
- Method:
- countDivisors
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int countDivisors(int N, int K)
- (be sure your method is public)
Constraints
- N will be between 1 and 1000, inclusive.
- K will be between 1 and 100, inclusive.
Examples
3
1
Returns: 4
3!1 = 3! = 6. The divisors of 6 are 1, 2, 3 and 6.
3
2
Returns: 6
3!2 = 3!1 * 2!2 = 3! * 2!1 * 1!2 = 3! * 2! * 1!1 * 0!2 = 3! * 2! * 1! * 1 = 12. The divisors of 12 are 1, 2, 3, 4, 6 and 12.
4
2
Returns: 18
4!2 is equal to 288.
6
3
Returns: 1392
100
2
Returns: 321266186
1000
100
Returns: 563680238
1000
99
Returns: 120360682
999
100
Returns: 229950717
1000
1
Returns: 791569763
123
5
Returns: 711693974
16
8
Returns: 665824235
1
100
Returns: 1
2
100
Returns: 2
6
100
Returns: 504967422
77
11
Returns: 61095262
776
100
Returns: 507387576
34
69
Returns: 867486552
333
92
Returns: 904299389
600
50
Returns: 606324195
716
2
Returns: 357035145
26
96
Returns: 901034209
12
51
Returns: 958733909
559
83
Returns: 541310848
874
10
Returns: 510549782
991
60
Returns: 204007016
300
5
Returns: 253539462
256
2
Returns: 872280411
256
88
Returns: 812667610
121
37
Returns: 760361028
137
42
Returns: 530106839
991
64
Returns: 370517844
803
36
Returns: 32916280
601
92
Returns: 993771158
601
93
Returns: 497645458
99
86
Returns: 897269756
25
65
Returns: 543318752
625
84
Returns: 183947240
237
85
Returns: 653821265
2
2
Returns: 2
1
5
Returns: 1
1
1
Returns: 1
997
3
Returns: 583304361
983
43
Returns: 860959367
100
100
Returns: 799296769
1000
95
Returns: 206248228
999
99
Returns: 435472594
555
79
Returns: 217580815
999
3
Returns: 831168277
1000
10
Returns: 999691632
10
5
Returns: 954492407
10
1
Returns: 270