`
superhack
  • 浏览: 32986 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

TCHS-3-1000

 
阅读更多

Problem Statement

    

A decomposition of a non-negative integer n is a list of non-negative integers that sum to exactly n. The product of a decomposition is the product of all its members. For example, if n = 4, the following decompositions are possible:

4 = 1+1+1+1, product is 1*1*1*1 = 1.
4 = 1+1+2, product is 1*1*2 = 2.
4 = 1+3, product is 1*3 = 3.
4 = 2+2, product is 2*2 = 4.
4 = 4, product is 4.

Given an int n, determine the decomposition of n with the maximal product, and return that product modulo 10007. In the example above, the maximal product is 4 (the product of the decomposition 2 + 2).

Definition

    
Class: BestDecomposition
Method: maxProduct
Parameters: int
Returns: int
Method signature: int maxProduct(int n)
(be sure your method is public)
    
 

Constraints

- n will be between 0 and 10000, inclusive.

Examples

0)  
    
0

Returns: 0

 
1)  
    
1

Returns: 1

 
2)  
    
5

Returns: 6

5 = 2 + 3, 2 * 3 = 6
3)  
    
7

Returns: 12

7 = 3 + 4, 3 * 4 = 12
4)  
    
9931

Returns: 4664

 

public class BestDecomposition {

	public int maxProduct(int n) {
		int p = n < 3 ? n : new int[]{3, 4, 6}[n%3];
		for (int i = 1; i < n / 3; i++)
			p = p * 3 % 10007;
		return p;
	}
	
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics