Problem Statement
In the factorial number system the value of the first digit (from the right) is 1!, the value of the second digit is 2!, ..., and the value of the n-th digit is n!. This means that any decimal number d can be written in this system as: anan-1...a2a1, where
d = an * n! + an-1 * (n-1)! + ... + a2 * 2! + a1 * 1! and 0 <= ai <= i for all i.
Given an int num in decimal, return its representation in the factorial number system.
Definition
- Class:
- FactorialSystem
- Method:
- convert
- Parameters:
- int
- Returns:
- int
- Method signature:
- int convert(int num)
- (be sure your method is public)
Notes
- n! = 1 * 2 * ... * n
Constraints
- num will be between 1 and 3628799 (10!-1), inclusive.
Examples
1
Returns: 1
24
Returns: 1000
24 = 4!153
Returns: 11111
153 = 1! + 2! + 3! + 4! + 5!.133
Returns: 10201
3628799
Returns: 987654321
Largest possible input.