TopcoderArchive
Archive
Algorithm problem

FactorialSystem

Problem statement, definition, constraints, and public examples.

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. 1
    Returns: 1
  2. 24
    Returns: 1000
    24 = 4!
  3. 153
    Returns: 11111
    153 = 1! + 2! + 3! + 4! + 5!.
  4. 133
    Returns: 10201
  5. 3628799
    Returns: 987654321
    Largest possible input.
Back to all problems