TopcoderArchive
Archive
Algorithm problem

KDivisibleNumbers

Problem statement, definition, constraints, and public examples.

Problem Statement

已知除数集合divisors,K阶可分数是指一个正整数恰好可以被集合divisors中K个数字整除。返回闭区间[A, B]中最大的K阶可分数。如果该区间不存在这样的数,返回-1。

Definition

Class:
KDivisibleNumbers
Method:
findLargest
Parameters:
int[], int, int, int
Returns:
int
Method signature:
int findLargest(int[] divisors, int K, int A, int B)
(be sure your method is public)

Constraints

  • divisors åŒ å«1到10ä¸ªï¼ˆå«ï¼‰å ƒç´ ã€‚
  • divisors ä¸­æ¯ä¸ªå ƒç´ å–å€¼èŒƒå›´æ˜¯[1,1000]。
  • divisors 中没有重复的数字。
  • K 取值范围是[1,N] ,N是 divisorså ƒç´ ä¸ªæ•°ã€‚
  • A 取值范围是[1,5000]。
  • B 取值范围是[A+1,5000]。

Examples

  1. {1, 4, 5}
    2
    1
    9
    Returns: 8
    4, 5和 8是2é˜¶å¯åˆ†çš„ã€‚å ¶ä¸­8最大。
  2. {1, 4, 9}
    3
    1
    100
    Returns: 72
    36 和 72 是3阶可分的。
  3. {1,2,3,4,5,6,7,8,9,10}
    10
    1
    5000
    Returns: 2520
  4. {5, 12, 37, 18, 50, 82, 110, 3}
    4
    1948
    3910
    Returns: 3900
  5. {984, 109, 304}
    2
    1
    5000
    Returns: -1
    è¿™ä¸ªèŒƒå›´å† æ²¡æœ‰2阶可分数。
Back to all problems