背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

[第二轮 300分]FactorialSystem

[日期:2005-12-22] 作者: [字体: ]

Google™ Code Jam - 中国编程挑战赛

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

0)
    
1
Returns: 1
1)
    
24
Returns: 1000
24 = 4!
2)
    
153
Returns: 11111
153 = 1! + 2! + 3! + 4! + 5!.
3)
    
133
Returns: 10201
4)
    
3628799
Returns: 987654321
Largest possible input.

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.

阅读:
打印