Problem Statement
You are given an int N. The factorial of N is defined as N*(N-1)*(N-2)*...*1. Compute the factorial of N and remove all of its rightmost zero digits. If the result is more than K digits long, return the last K digits as a string. Otherwise, return the entire result as a string.
Definition
- Class:
- KLastNonZeroDigits
- Method:
- getKDigits
- Parameters:
- int, int
- Returns:
- String
- Method signature:
- String getKDigits(int N, int K)
- (be sure your method is public)
Constraints
- N will be between 1 and 20, inclusive.
- K will be between 1 and 9, inclusive.
Examples
10
3
Returns: "288"
You would first compute the factorial of 10, which is 10*9*8*7*6*5*4*3*2*1=3628800. You would then remove all rightmost zeros to get 36288. Finally, you would return the last 3 digits as a string: "288".
6
1
Returns: "2"
The factorial of 6 is 720.
6
3
Returns: "72"
7
2
Returns: "04"
The factorial of 7 is 5040. We remove the last zero to get "504". The last 2 digits of "504" are "04".
20
9
Returns: "200817664"
16
6
Returns: "789888"
16
1
Returns: "8"
17
6
Returns: "428096"
3
8
Returns: "6"
18
8
Returns: "73705728"
6
8
Returns: "72"
16
9
Returns: "922789888"
20
4
Returns: "7664"
6
7
Returns: "72"
6
3
Returns: "72"
13
7
Returns: "2270208"
11
7
Returns: "399168"
16
3
Returns: "888"
18
7
Returns: "3705728"
4
5
Returns: "24"
8
7
Returns: "4032"
1
6
Returns: "1"
5
2
Returns: "12"
19
3
Returns: "832"
10
5
Returns: "36288"
1
1
Returns: "1"
20
1
Returns: "4"
19
8
Returns: "00408832"
20
8
Returns: "00817664"
8
3
Returns: "032"
14
9
Returns: "871782912"
13
9
Returns: "62270208"
3
8
Returns: "6"
15
1
Returns: "8"
6
3
Returns: "72"
1
9
Returns: "1"
1
5
Returns: "1"
4
8
Returns: "24"
10
6
Returns: "36288"
20
9
Returns: "200817664"
10
3
Returns: "288"
7
2
Returns: "04"
8
3
Returns: "032"
5
9
Returns: "12"
15
2
Returns: "68"
2
2
Returns: "2"
2
9
Returns: "2"
18
9
Returns: "373705728"
17
9
Returns: "687428096"
20
7
Returns: "0817664"
19
9
Returns: "100408832"
20
8
Returns: "00817664"
3
5
Returns: "6"
5
1
Returns: "2"
19
8
Returns: "00408832"