【问题标题】:Find largest multiple for a number set查找数字集的最大倍数
【发布时间】:2015-06-17 06:19:41
【问题描述】:

一个大小为 N 的数字 (0-9) 数组作为输入提供。一组大小为 m 的数字(N1,...,Nm),数字由空格分隔,也作为输入。程序必须打印可以使用大小为 N 的数组中的数字形成的最大数字,该数字可以被数字 N1,..,Nm 整除

示例输入/输出1:

输入:

160

2 3 5

输出

60

解释 60 是数字 1,6,0 可以被 2,3,5 整除的最大数

示例输入/输出2:

输入

91028

17 5 9

输出

9180

边界条件

1

2

Can somebody explain how to approach this problem.

【问题讨论】:

  • 这应该移到算法部分。它与java编程无关..
  • 到目前为止你尝试了什么?
  • 请提供此问题的其他限制条件(N, N1, ... 有多大),以及您当前的方法:)
  • 我已经更新了问题

标签: algorithm methods solution


【解决方案1】:

部分答案:

尝试所有数字子集的所有排列,可能从最大的候选者开始。

如果您的因子包含5,则最后一个数字必须是05

如果您的因子包含369,则所有候选数字的总和必须是3 的倍数

如果您的因数包含 2 或 4 或 6 或 8,则最后一位必须是偶数。

等等。

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    相关资源
    最近更新 更多